Skip to content

Commit 7f4b04d

Browse files
committed
declare MIB and MRI up top
1 parent fa67645 commit 7f4b04d

File tree

1 file changed

+7
-23
lines changed

1 file changed

+7
-23
lines changed

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

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1630,6 +1630,9 @@ bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
16301630
return true;
16311631
};
16321632

1633+
MachineIRBuilder MIB(MI);
1634+
MachineRegisterInfo &MRI = *MIB.getMRI();
1635+
16331636
Intrinsic::ID IntrinsicID = cast<GIntrinsic>(MI).getIntrinsicID();
16341637
switch (IntrinsicID) {
16351638
case Intrinsic::vacopy: {
@@ -1642,7 +1645,6 @@ bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
16421645
MachineFunction &MF = *MI.getMF();
16431646
auto Val = MF.getRegInfo().createGenericVirtualRegister(
16441647
LLT::scalar(VaListSize * 8));
1645-
MachineIRBuilder MIB(MI);
16461648
MIB.buildLoad(Val, MI.getOperand(2),
16471649
*MF.getMachineMemOperand(MachinePointerInfo(),
16481650
MachineMemOperand::MOLoad,
@@ -1664,14 +1666,12 @@ bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
16641666
assert(MI.getOpcode() == TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS);
16651667
// Anyext the value being set to 64 bit (only the bottom 8 bits are read by
16661668
// the instruction).
1667-
MachineIRBuilder MIB(MI);
16681669
auto &Value = MI.getOperand(3);
16691670
Register ExtValueReg = MIB.buildAnyExt(LLT::scalar(64), Value).getReg(0);
16701671
Value.setReg(ExtValueReg);
16711672
return true;
16721673
}
16731674
case Intrinsic::aarch64_prefetch: {
1674-
MachineIRBuilder MIB(MI);
16751675
auto &AddrVal = MI.getOperand(1);
16761676

16771677
int64_t IsWrite = MI.getOperand(2).getImm();
@@ -1694,8 +1694,6 @@ bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
16941694
case Intrinsic::aarch64_neon_smaxv:
16951695
case Intrinsic::aarch64_neon_uminv:
16961696
case Intrinsic::aarch64_neon_sminv: {
1697-
MachineIRBuilder MIB(MI);
1698-
MachineRegisterInfo &MRI = *MIB.getMRI();
16991697
bool IsSigned = IntrinsicID == Intrinsic::aarch64_neon_saddv ||
17001698
IntrinsicID == Intrinsic::aarch64_neon_smaxv ||
17011699
IntrinsicID == Intrinsic::aarch64_neon_sminv;
@@ -1720,8 +1718,6 @@ bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
17201718
}
17211719
case Intrinsic::aarch64_neon_uaddlp:
17221720
case Intrinsic::aarch64_neon_saddlp: {
1723-
MachineIRBuilder MIB(MI);
1724-
17251721
unsigned Opc = IntrinsicID == Intrinsic::aarch64_neon_uaddlp
17261722
? AArch64::G_UADDLP
17271723
: AArch64::G_SADDLP;
@@ -1732,9 +1728,6 @@ bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
17321728
}
17331729
case Intrinsic::aarch64_neon_uaddlv:
17341730
case Intrinsic::aarch64_neon_saddlv: {
1735-
MachineIRBuilder MIB(MI);
1736-
MachineRegisterInfo &MRI = *MIB.getMRI();
1737-
17381731
unsigned Opc = IntrinsicID == Intrinsic::aarch64_neon_uaddlv
17391732
? AArch64::G_UADDLV
17401733
: AArch64::G_SADDLV;
@@ -1790,37 +1783,28 @@ bool AArch64LegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
17901783
return LowerBinOp(AArch64::G_UMULL);
17911784
case Intrinsic::aarch64_neon_abs: {
17921785
// Lower the intrinsic to G_ABS.
1793-
MachineIRBuilder MIB(MI);
17941786
MIB.buildInstr(TargetOpcode::G_ABS, {MI.getOperand(0)}, {MI.getOperand(2)});
17951787
MI.eraseFromParent();
17961788
return true;
17971789
}
17981790
case Intrinsic::aarch64_neon_sqadd: {
1799-
MachineIRBuilder MIB(MI);
18001791
if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
1801-
return LowerBinOp(TargetOpcode::G_SADDSAT);
1802-
1792+
return LowerBinOp(TargetOpcode::G_SADDSAT);
18031793
break;
18041794
}
18051795
case Intrinsic::aarch64_neon_sqsub: {
1806-
MachineIRBuilder MIB(MI);
18071796
if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
1808-
return LowerBinOp(TargetOpcode::G_SSUBSAT);
1809-
1797+
return LowerBinOp(TargetOpcode::G_SSUBSAT);
18101798
break;
18111799
}
18121800
case Intrinsic::aarch64_neon_uqadd: {
1813-
MachineIRBuilder MIB(MI);
18141801
if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
1815-
return LowerBinOp(TargetOpcode::G_UADDSAT);
1816-
1802+
return LowerBinOp(TargetOpcode::G_UADDSAT);
18171803
break;
18181804
}
18191805
case Intrinsic::aarch64_neon_uqsub: {
1820-
MachineIRBuilder MIB(MI);
18211806
if (MIB.getMRI()->getType(MI.getOperand(0).getReg()).isVector())
1822-
return LowerBinOp(TargetOpcode::G_USUBSAT);
1823-
1807+
return LowerBinOp(TargetOpcode::G_USUBSAT);
18241808
break;
18251809
}
18261810

0 commit comments

Comments
 (0)