From: Keith Randall Date: Fri, 4 Sep 2015 20:16:07 +0000 (-0700) Subject: [dev.ssa] cmd/compile: teach live variable analysis about LEAW X-Git-Tag: go1.7beta1~1623^2^2~207 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=617e892b87fd2f74317a9ebf5d8b90bb9144957b;p=gostls13.git [dev.ssa] cmd/compile: teach live variable analysis about LEAW SSA uses this opcode, the old compiler doesn't. Change-Id: Ic3dde6216496b4b89d570584d34cb0971fdf379d Reviewed-on: https://go-review.googlesource.com/14330 Reviewed-by: Minux Ma --- diff --git a/src/cmd/compile/internal/amd64/prog.go b/src/cmd/compile/internal/amd64/prog.go index 6c46f20a3b..56d402a638 100644 --- a/src/cmd/compile/internal/amd64/prog.go +++ b/src/cmd/compile/internal/amd64/prog.go @@ -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}, diff --git a/src/cmd/compile/internal/x86/prog.go b/src/cmd/compile/internal/x86/prog.go index 8e1b7573b5..ef38ad119b 100644 --- a/src/cmd/compile/internal/x86/prog.go +++ b/src/cmd/compile/internal/x86/prog.go @@ -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},