From: Keith Randall Date: Wed, 25 Jan 2023 19:08:14 +0000 (+0000) Subject: Revert "cmd/compile: improve register overwrite decision for resultInArg0 ops" X-Git-Tag: go1.21rc1~1795 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2bf0f54bbd6dfa57fc11444f9b8ba722689e6490;p=gostls13.git Revert "cmd/compile: improve register overwrite decision for resultInArg0 ops" This reverts CL 460656 Reason for revert: This breaks s390x. Change-Id: I8fada14fabc90593b8033ed11188c04963d2da75 Reviewed-on: https://go-review.googlesource.com/c/go/+/463475 Reviewed-by: Matthew Dempsky Reviewed-by: Cherry Mui Auto-Submit: Keith Randall Reviewed-by: Keith Randall TryBot-Result: Gopher Robot Run-TryBot: Keith Randall --- diff --git a/src/cmd/compile/internal/ssa/regalloc.go b/src/cmd/compile/internal/ssa/regalloc.go index 05765bb701..294c522a90 100644 --- a/src/cmd/compile/internal/ssa/regalloc.go +++ b/src/cmd/compile/internal/ssa/regalloc.go @@ -1544,7 +1544,6 @@ func (s *regAllocState) regalloc(f *Func) { } } } - // Avoid future fixed uses if we can. if m&^desired.avoid != 0 { m &^= desired.avoid @@ -1552,19 +1551,6 @@ func (s *regAllocState) regalloc(f *Func) { // Save input 0 to a new register so we can clobber it. c := s.allocValToReg(v.Args[0], m, true, v.Pos) s.copies[c] = false - - // Normally we use the register of the old copy of input 0 as the target. - // However, if input 0 is already in its desired register then we use - // the register of the new copy instead. - if rp, ok := s.f.getHome(args[0].ID).(*Register); ok { - r := register(rp.num) - for _, r2 := range dinfo[idx].in[0] { - if r == r2 { - args[0] = c - break - } - } - } } ok: