Skip to content

Commit 6ed811c

Browse files
committed
Revert "[PHIElimination] Fix bug around $noreg assignment (#146320)"
This reverts commit f412842.
1 parent 5273e04 commit 6ed811c

File tree

2 files changed

+2
-54
lines changed

2 files changed

+2
-54
lines changed

llvm/lib/CodeGen/PHIElimination.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -582,9 +582,8 @@ void PHIEliminationImpl::LowerPHINode(MachineBasicBlock &MBB,
582582
}
583583

584584
// Reuse an existing copy in the block if possible.
585-
if (IncomingReg.isVirtual()) {
586-
MachineInstr *DefMI = MRI->getUniqueVRegDef(SrcReg);
587-
if (DefMI && DefMI->isCopy() && DefMI->getParent() == &opBlock &&
585+
if (MachineInstr *DefMI = MRI->getUniqueVRegDef(SrcReg)) {
586+
if (DefMI->isCopy() && DefMI->getParent() == &opBlock &&
588587
MRI->use_empty(SrcReg)) {
589588
DefMI->getOperand(0).setReg(IncomingReg);
590589
continue;

llvm/test/CodeGen/AArch64/PHIElimination-reuse-copy.mir

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -66,54 +66,3 @@ body: |
6666
%b:gpr32 = PHI %a:gpr32, %bb.1, undef %undef:gpr32, %bb.0
6767
...
6868

69-
---
70-
name: copy_to_dead
71-
tracksRegLiveness: true
72-
body: |
73-
; CHECK-LABEL: name: copy_to_dead
74-
; CHECK: bb.0:
75-
; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
76-
; CHECK-NEXT: liveins: $wzr, $xzr
77-
; CHECK-NEXT: {{ $}}
78-
; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr32 = COPY $wzr
79-
; CHECK-NEXT: dead [[COPY1:%[0-9]+]]:gpr64 = COPY $xzr
80-
; CHECK-NEXT: TBZW killed [[COPY]], 0, %bb.2
81-
; CHECK-NEXT: B %bb.1
82-
; CHECK-NEXT: {{ $}}
83-
; CHECK-NEXT: bb.1:
84-
; CHECK-NEXT: successors: %bb.2(0x80000000)
85-
; CHECK-NEXT: {{ $}}
86-
; CHECK-NEXT: [[DEF:%[0-9]+]]:gpr64 = IMPLICIT_DEF
87-
; CHECK-NEXT: [[DEF1:%[0-9]+]]:gpr64 = IMPLICIT_DEF
88-
; CHECK-NEXT: B %bb.2
89-
; CHECK-NEXT: {{ $}}
90-
; CHECK-NEXT: bb.2:
91-
; CHECK-NEXT: successors: %bb.1(0x80000000)
92-
; CHECK-NEXT: {{ $}}
93-
; CHECK-NEXT: [[DEF2:%[0-9]+]]:gpr64 = IMPLICIT_DEF
94-
; CHECK-NEXT: [[DEF3:%[0-9]+]]:gpr64 = IMPLICIT_DEF
95-
; CHECK-NEXT: B %bb.1
96-
bb.0:
97-
liveins: $wzr, $xzr
98-
99-
%9:gpr32 = COPY $wzr
100-
dead %5:gpr64 = COPY $xzr
101-
TBZW killed %9:gpr32, 0, %bb.2
102-
B %bb.1
103-
104-
bb.1:
105-
successors: %bb.2(0x80000000); %bb.2(100.00%)
106-
107-
dead %1:gpr64 = PHI undef %3:gpr64, %bb.2, undef %5:gpr64, %bb.0
108-
dead %2:gpr64 = PHI undef %4:gpr64, %bb.2, undef %5:gpr64, %bb.0
109-
B %bb.2
110-
111-
bb.2:
112-
successors: %bb.1(0x80000000); %bb.1(100.00%)
113-
114-
dead %3:gpr64 = PHI undef %1:gpr64, %bb.1, undef %5:gpr64, %bb.0
115-
dead %4:gpr64 = PHI undef %2:gpr64, %bb.1, undef %5:gpr64, %bb.0
116-
B %bb.1
117-
118-
...
119-

0 commit comments

Comments
 (0)