Skip to content

Commit 7c12418

Browse files
authored
[GISel] Avoid creating a virtual register we don't need. (#119305)
narrowScalarAddSub was creating a virtual register and then overwriting the Register variable without using it. Add an else and only create it when needed.
1 parent 7bcd459 commit 7c12418

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6406,10 +6406,12 @@ LegalizerHelper::narrowScalarAddSub(MachineInstr &MI, unsigned TypeIdx,
64066406
for (int i = 0, e = Src1Regs.size(); i != e; ++i) {
64076407
Register DstReg =
64086408
MRI.createGenericVirtualRegister(MRI.getType(Src1Regs[i]));
6409-
Register CarryOut = MRI.createGenericVirtualRegister(LLT::scalar(1));
6409+
Register CarryOut;
64106410
// Forward the final carry-out to the destination register
64116411
if (i == e - 1 && CarryDst)
64126412
CarryOut = CarryDst;
6413+
else
6414+
CarryOut = MRI.createGenericVirtualRegister(LLT::scalar(1));
64136415

64146416
if (!CarryIn) {
64156417
MIRBuilder.buildInstr(OpO, {DstReg, CarryOut},

0 commit comments

Comments
 (0)