]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/compile: allow control values to be CSEd
authorKeith Randall <khr@golang.org>
Fri, 11 Dec 2015 22:59:01 +0000 (14:59 -0800)
committerKeith Randall <khr@golang.org>
Sat, 12 Dec 2015 06:41:05 +0000 (06:41 +0000)
commit498933719287fbba1015c97d177a9bd4cfb9aada
treeda41156798b2ad7c6f4ce22b3beb52cedbca9fba
parentc140df03267ab2e73ffd076002811aaa00fdc80e
[dev.ssa] cmd/compile: allow control values to be CSEd

With the separate flagalloc pass, it should be fine to
allow CSE of control values.  The worst that can happen
is that the comparison gets un-CSEd by flagalloc.

Fix bug in flagalloc where flag restores were getting
clobbered by rematerialization during register allocation.

Change-Id: If476cf98b69973e8f1a8eb29441136dd12fab8ad
Reviewed-on: https://go-review.googlesource.com/17760
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/cse.go
src/cmd/compile/internal/ssa/flagalloc.go
src/cmd/compile/internal/ssa/gen/AMD64.rules
src/cmd/compile/internal/ssa/gen/AMD64Ops.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteAMD64.go