Skip to content

Commit 849468d

Browse files
committed
reuse MIB and MRI
1 parent 5cf3cc0 commit 849468d

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,17 +1622,16 @@ bool AArch64LegalizerInfo::legalizeSmallCMGlobalValue(
16221622

16231623
bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
16241624
MachineInstr &MI) const {
1625-
auto LowerBinOp = [&MI](unsigned Opcode) {
1626-
MachineIRBuilder MIB(MI);
1625+
MachineIRBuilder MIB(MI);
1626+
MachineRegisterInfo &MRI = *MIB.getMRI();
1627+
1628+
auto LowerBinOp = [&MI, &MIB](unsigned Opcode) {
16271629
MIB.buildInstr(Opcode, {MI.getOperand(0)},
16281630
{MI.getOperand(2), MI.getOperand(3)});
16291631
MI.eraseFromParent();
16301632
return true;
16311633
};
16321634

1633-
MachineIRBuilder MIB(MI);
1634-
MachineRegisterInfo &MRI = *MIB.getMRI();
1635-
16361635
Intrinsic::ID IntrinsicID = cast<GIntrinsic>(MI).getIntrinsicID();
16371636
switch (IntrinsicID) {
16381637
case Intrinsic::vacopy: {
@@ -1788,22 +1787,22 @@ bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
17881787
return true;
17891788
}
17901789
case Intrinsic::aarch64_neon_sqadd: {
1791-
if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
1790+
if (MRI.getType(MI.getOperand(0).getReg()).isVector())
17921791
return LowerBinOp(TargetOpcode::G_SADDSAT);
17931792
break;
17941793
}
17951794
case Intrinsic::aarch64_neon_sqsub: {
1796-
if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
1795+
if (MRI.getType(MI.getOperand(0).getReg()).isVector())
17971796
return LowerBinOp(TargetOpcode::G_SSUBSAT);
17981797
break;
17991798
}
18001799
case Intrinsic::aarch64_neon_uqadd: {
1801-
if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
1800+
if (MRI.getType(MI.getOperand(0).getReg()).isVector())
18021801
return LowerBinOp(TargetOpcode::G_UADDSAT);
18031802
break;
18041803
}
18051804
case Intrinsic::aarch64_neon_uqsub: {
1806-
if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
1805+
if (MRI.getType(MI.getOperand(0).getReg()).isVector())
18071806
return LowerBinOp(TargetOpcode::G_USUBSAT);
18081807
break;
18091808
}

0 commit comments

Comments
 (0)