aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/regalloc.go
diff options
context:
space:
mode:
authorDaniel Martí <mvdan@mvdan.cc>2023-05-03 20:56:41 +0000
committerDaniel Martí <mvdan@mvdan.cc>2023-05-03 21:28:37 +0000
commitaa6e16848041f07b004c7247cfe6b14bf64bcd22 (patch)
tree3d6ecb4d1d1531a23323d4859313ae927c6bec65 /src/cmd/compile/internal/ssa/regalloc.go
parent129b597de360d9740240d51b8dc7d215227ec802 (diff)
downloadgo-aa6e16848041f07b004c7247cfe6b14bf64bcd22.tar.xz
Revert "cmd/compile: enhance tighten pass for memory values"
This reverts CL 458755. Reason for revert: broke make.bash on GOAMD64=v3: /workdir/go/src/crypto/sha1/sha1.go:54:35: internal compiler error: '(*digest).MarshalBinary': func (*digest).MarshalBinary, startMem[b13] has different values, old v206, new v338 goroutine 34 [running]: runtime/debug.Stack() /workdir/go/src/runtime/debug/stack.go:24 +0x9f bootstrap/cmd/compile/internal/base.FatalfAt({0x13, 0xaa0f1}, {0xc000db4440, 0x40}, {0xc0013b0000, 0x5, 0x5}) /workdir/go/src/cmd/compile/internal/base/print.go:234 +0x2d1 bootstrap/cmd/compile/internal/base.Fatalf(...) /workdir/go/src/cmd/compile/internal/base/print.go:203 bootstrap/cmd/compile/internal/ssagen.(*ssafn).Fatalf(0xc000d90000, {0x13, 0xaa0f1}, {0xcb7b91, 0x3a}, {0xc000d99bc0, 0x4, 0x4}) /workdir/go/src/cmd/compile/internal/ssagen/ssa.go:7896 +0x1f8 bootstrap/cmd/compile/internal/ssa.(*Func).Fatalf(0xc000d82340, {0xcb7b91, 0x3a}, {0xc000d99bc0, 0x4, 0x4}) /workdir/go/src/cmd/compile/internal/ssa/func.go:716 +0x342 bootstrap/cmd/compile/internal/ssa.memState(0xc000d82340, {0xc000ec6200, 0x22, 0x40}, {0xc001046000, 0x22, 0x40}) /workdir/go/src/cmd/compile/internal/ssa/tighten.go:240 +0x6c5 bootstrap/cmd/compile/internal/ssa.tighten(0xc000d82340) [...] Change-Id: Ic445fb48fe0f2c60ac67abe259b66594f1419152 Reviewed-on: https://go-review.googlesource.com/c/go/+/492335 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com>
Diffstat (limited to 'src/cmd/compile/internal/ssa/regalloc.go')
-rw-r--r--src/cmd/compile/internal/ssa/regalloc.go7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/cmd/compile/internal/ssa/regalloc.go b/src/cmd/compile/internal/ssa/regalloc.go
index c4d6e48cad..c7cdea261d 100644
--- a/src/cmd/compile/internal/ssa/regalloc.go
+++ b/src/cmd/compile/internal/ssa/regalloc.go
@@ -602,11 +602,6 @@ func isLeaf(f *Func) bool {
return true
}
-// needRegister reports whether v needs a register.
-func (v *Value) needRegister() bool {
- return !v.Type.IsMemory() && !v.Type.IsVoid() && !v.Type.IsFlags() && !v.Type.IsTuple()
-}
-
func (s *regAllocState) init(f *Func) {
s.f = f
s.f.RegAlloc = s.f.Cache.locs[:0]
@@ -707,7 +702,7 @@ func (s *regAllocState) init(f *Func) {
s.copies = make(map[*Value]bool)
for _, b := range s.visitOrder {
for _, v := range b.Values {
- if v.needRegister() {
+ if !v.Type.IsMemory() && !v.Type.IsVoid() && !v.Type.IsFlags() && !v.Type.IsTuple() {
s.values[v.ID].needReg = true
s.values[v.ID].rematerializeable = v.rematerializeable()
s.orig[v.ID] = v