Skip to content

Commit f6cb3c5

Browse files
committed
[TII] Do not fold undef copies
Change-Id: I0d76cc98d2368f4f929bee032c22714560f273cc
1 parent bf5258b commit f6cb3c5

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

llvm/lib/CodeGen/InlineSpiller.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -946,9 +946,6 @@ foldMemoryOperand(ArrayRef<std::pair<MachineInstr *, unsigned>> Ops,
946946
if (MO.isUse() && !MO.readsReg() && !MO.isTied())
947947
continue;
948948

949-
if (MI->isCopy() && MI->getOperand(1).isUndef())
950-
continue;
951-
952949
if (MO.isImplicit()) {
953950
ImpReg = MO.getReg();
954951
continue;

llvm/lib/CodeGen/TargetInstrInfo.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,9 @@ static const TargetRegisterClass *canFoldCopy(const MachineInstr &MI,
476476
if (FoldOp.getSubReg() || LiveOp.getSubReg())
477477
return nullptr;
478478

479+
if (LiveOp.isUndef())
480+
return nullptr;
481+
479482
Register FoldReg = FoldOp.getReg();
480483
Register LiveReg = LiveOp.getReg();
481484

0 commit comments

Comments
 (0)