diff options
author | Philip Hofer <phofer@umich.edu> | 2017-03-03 13:44:18 -0800 |
---|---|---|
committer | Matthew Dempsky <mdempsky@google.com> | 2017-03-09 21:40:47 +0000 |
commit | b0e91d836a0abd46899cf78fdd93303afcf6c637 (patch) | |
tree | 161359a455652648f81b967f834be8fe39ece98d /src/cmd/compile/internal/ssa/schedule.go | |
parent | e471ad9189d1eba54c8cb5414c47e413cea78df2 (diff) | |
download | go-b0e91d836a0abd46899cf78fdd93303afcf6c637.tar.gz go-b0e91d836a0abd46899cf78fdd93303afcf6c637.zip |
cmd/compile: clean up ssa.Value memory arg usage
This change adds a method to replace expressions
of the form
v.Args[len(v.Args)-1]
so that the code's intention to walk memory arguments
is explicit.
Passes toolstash-check.
Change-Id: I0c80d73bc00989dd3cdf72b4f2c8e1075a2515e0
Reviewed-on: https://go-review.googlesource.com/37757
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ssa/schedule.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/schedule.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/compile/internal/ssa/schedule.go b/src/cmd/compile/internal/ssa/schedule.go index b0a2f23102..356d44787f 100644 --- a/src/cmd/compile/internal/ssa/schedule.go +++ b/src/cmd/compile/internal/ssa/schedule.go @@ -314,11 +314,11 @@ func storeOrder(values []*Value, sset *sparseSet, storeNumber []int32) []*Value if v.Op == OpInitMem || v.Op == OpPhi { continue } - a := v.Args[len(v.Args)-1] + a := v if v.Op == OpSelect1 { - a = a.Args[len(a.Args)-1] + a = a.Args[0] } - sset.add(a.ID) // record that a is used + sset.add(a.MemoryArg().ID) // record that v's memory arg is used } if v.Op == OpNilCheck { hasNilCheck = true @@ -364,7 +364,7 @@ func storeOrder(values []*Value, sset *sparseSet, storeNumber []int32) []*Value if w.Op == OpSelect1 { w = w.Args[0] } - w = w.Args[len(w.Args)-1] + w = w.MemoryArg() } var stack []*Value for _, v := range values { |