]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: combine stores into larger widths
authorKeith Randall <khr@golang.org>
Wed, 20 Apr 2016 22:02:48 +0000 (15:02 -0700)
committerKeith Randall <khr@golang.org>
Sat, 23 Apr 2016 16:01:13 +0000 (16:01 +0000)
commit217c284995400bb761e5718782c8a90748c75aef
treec5d6fc433b4e1b21eba2514319e502924013a074
parenta3703618eadeb74b60f2cb9a23fabe178d4b141d
cmd/compile: combine stores into larger widths

Combine stores into larger widths when it is safe to do so.

Add clobber() function so stray dead uses do not impede the
above rewrites.

Fix bug in loads where all intermediate values depending on
a small load (not just the load itself) must have no other uses.
We really need the small load to be dead after the rewrite..

Fixes #14267

Change-Id: Ib25666cb19777f65082c76238fba51a76beb5d74
Reviewed-on: https://go-review.googlesource.com/22326
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Todd Neal <todd@tneal.org>
src/cmd/compile/internal/gc/testdata/dupLoad.go
src/cmd/compile/internal/ssa/gen/AMD64.rules
src/cmd/compile/internal/ssa/rewrite.go
src/cmd/compile/internal/ssa/rewriteAMD64.go