[dev.ssa] cmd/compile: getg needs a memory arg

getg reads from memory, so it should really have a
memory arg.  It is critical in functions which call setg
to make sure getg gets ordered correctly with setg.

Change-Id: Ief4875421f741fc49c07b0e1f065ce2535232341
Reviewed-on: https://go-review.googlesource.com/16100
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: David Chase <drchase@google.com>
This commit is contained in:
Keith Randall 2015-10-19 18:54:40 -07:00
parent 65df9c4c2b
commit d694f83c21
8 changed files with 16 additions and 19 deletions

View file

@ -982,11 +982,6 @@ func (v *Value) rematerializeable() bool {
// which can't be moved.
return false
}
if v.Op == OpAMD64LoweredGetG {
// It would almost always be ok to rematerialize this op.
// The annoying exception is functions that call runtime.setg.
return false
}
if len(v.Args) == 0 {
return true
}