]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: reuse dead register before reusing register holding constant
authorKeith Randall <keithr@alum.mit.edu>
Mon, 7 Oct 2019 06:03:28 +0000 (23:03 -0700)
committerKeith Randall <khr@golang.org>
Mon, 7 Oct 2019 15:16:26 +0000 (15:16 +0000)
commit72dc9ab1919e9fac9f3e63a109232cd79a050255
tree63cd5f811755011f2dc0c5c5e8401daa8206b90b
parentfc2915fabdda25912058b4e51b385e73e8ed2b4b
cmd/compile: reuse dead register before reusing register holding constant

For commuting ops, check whether the second argument is dead before
checking if the first argument is rematerializeable. Reusing the register
holding a dead value is always best.

Fixes #33580

Change-Id: I7372cfc03d514e6774d2d9cc727a3e6bf6ce2657
Reviewed-on: https://go-review.googlesource.com/c/go/+/199559
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/ssa/regalloc.go
test/codegen/issue33580.go [new file with mode: 0644]