1
0
mirror of https://github.com/golang/go synced 2024-10-04 21:21:22 -06:00
go/src/cmd
Keith Randall cd85f711c0 cmd/compile: add x.Uses==1 test to load combiners
We need to make sure that when we combine loads, we only do
so if there are no other uses of the load.  We can't split
one load into two because that can then lead to inconsistent
loaded values in the presence of races.

Add some aggressive copy removal code so that phantom
"dead copy" uses of values are cleaned up promptly.  This lets
us use x.Uses==1 conditions reliably.

Change-Id: I9037311db85665f3868dbeb3adb3de5c20728b38
Reviewed-on: https://go-review.googlesource.com/21853
Reviewed-by: Todd Neal <todd@tneal.org>
2016-04-12 15:10:16 +00:00
..
addr2line cmd/addr2line: simplify windows test 2015-06-17 14:23:20 +00:00
api all: delete dead non-test code 2016-03-25 06:28:13 +00:00
asm cmd/internal/obj/s390x: add MULHD instruction 2016-04-11 18:53:36 +00:00
cgo cmd/cgo: fix cgo with gccgo 2016-04-08 23:27:33 +00:00
compile cmd/compile: add x.Uses==1 test to load combiners 2016-04-12 15:10:16 +00:00
cover all: single space after period. 2016-03-02 00:13:47 +00:00
dist cmd/compile/internal/s390x: add s390x support 2016-04-12 14:38:17 +00:00
doc all: delete dead non-test code 2016-03-25 06:28:13 +00:00
fix all: single space after period. 2016-03-02 00:13:47 +00:00
go cmd/go: fix vcsFromDir returning bad root on Windows 2016-04-12 06:25:45 +00:00
gofmt cmd/gofmt: make gofmt -s simplify slices in presence of dot-imports 2016-04-06 18:19:33 +00:00
internal cmd/pprof/internal: move to cmd/internal/pprof 2016-04-12 15:02:28 +00:00
link cmd/link: external linking can fail on Solaris 11.2+ 2016-04-11 18:03:02 +00:00
nm all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
objdump cmd/objdump: skip TestDisasm* for mips64{,le} 2015-09-10 18:27:09 +00:00
pack cmd/pack,vet: use go doc instead of godoc in doc 2016-03-17 21:06:40 +00:00
pprof cmd/pprof/internal: move to cmd/internal/pprof 2016-04-12 15:02:28 +00:00
trace internal/trace: support parsing of 1.5 traces 2016-04-11 17:56:44 +00:00
vet cmd/vet: improve documentation for flags, slightly 2016-04-11 22:35:22 +00:00
yacc all: delete dead non-test code 2016-03-25 06:28:13 +00:00