]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.ssa] cmd/compile: teach live variable analysis about LEAW
authorKeith Randall <khr@golang.org>
Fri, 4 Sep 2015 20:16:07 +0000 (13:16 -0700)
committerKeith Randall <khr@golang.org>
Fri, 4 Sep 2015 20:28:02 +0000 (20:28 +0000)
SSA uses this opcode, the old compiler doesn't.

Change-Id: Ic3dde6216496b4b89d570584d34cb0971fdf379d
Reviewed-on: https://go-review.googlesource.com/14330
Reviewed-by: Minux Ma <minux@golang.org>
src/cmd/compile/internal/amd64/prog.go
src/cmd/compile/internal/x86/prog.go

index 6c46f20a3bf62ae111070e3ce78d45bc16b3e2e0..56d402a638f0cde7025ae541790730bfc5a8d585 100644 (file)
@@ -116,6 +116,7 @@ var progtable = [x86.ALAST]obj.ProgInfo{
        x86.AJPL:       {Flags: gc.Cjmp | gc.UseCarry},
        x86.AJPS:       {Flags: gc.Cjmp | gc.UseCarry},
        obj.AJMP:       {Flags: gc.Jump | gc.Break | gc.KillCarry},
+       x86.ALEAW:      {Flags: gc.LeftAddr | gc.RightWrite},
        x86.ALEAL:      {Flags: gc.LeftAddr | gc.RightWrite},
        x86.ALEAQ:      {Flags: gc.LeftAddr | gc.RightWrite},
        x86.AMOVBLSX:   {Flags: gc.SizeL | gc.LeftRead | gc.RightWrite | gc.Conv},
index 8e1b7573b5ede9cf1f3cde2527e5b51a4f8a2394..ef38ad119b167bb9d1277c909418ff53d125968e 100644 (file)
@@ -152,6 +152,7 @@ var progtable = [x86.ALAST]obj.ProgInfo{
        x86.AJPL:      {Flags: gc.Cjmp | gc.UseCarry},
        x86.AJPS:      {Flags: gc.Cjmp | gc.UseCarry},
        obj.AJMP:      {Flags: gc.Jump | gc.Break | gc.KillCarry},
+       x86.ALEAW:     {Flags: gc.LeftAddr | gc.RightWrite},
        x86.ALEAL:     {Flags: gc.LeftAddr | gc.RightWrite},
        x86.AMOVBLSX:  {Flags: gc.SizeL | gc.LeftRead | gc.RightWrite | gc.Conv},
        x86.AMOVBLZX:  {Flags: gc.SizeL | gc.LeftRead | gc.RightWrite | gc.Conv},