mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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 <mdempsky@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Keith Randall <khr@golang.org>
This commit is contained in:
parent
3c7884a21b
commit
2bf0f54bbd
1 changed files with 0 additions and 14 deletions
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue