[llvm] d0f6825 - [RISCV][GISel] Use ArrayRef version of buildInstr to reduce code. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 4 23:06:38 PDT 2023
Author: Craig Topper
Date: 2023-11-04T23:05:57-07:00
New Revision: d0f6825da2d155ccfc4d07c51ae8676a861791ea
URL: https://github.com/llvm/llvm-project/commit/d0f6825da2d155ccfc4d07c51ae8676a861791ea
DIFF: https://github.com/llvm/llvm-project/commit/d0f6825da2d155ccfc4d07c51ae8676a861791ea.diff
LOG: [RISCV][GISel] Use ArrayRef version of buildInstr to reduce code. NFC
Avoids the need for explicit addDef and addReg.
Added:
Modified:
llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp b/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
index 7b39763e92b3da1..5a60924759233c9 100644
--- a/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
+++ b/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
@@ -553,28 +553,20 @@ bool RISCVInstructionSelector::materializeImm(Register DstReg, int64_t Imm,
switch (I.getOpndKind()) {
case RISCVMatInt::Imm:
// clang-format off
- Result = MIB.buildInstr(I.getOpcode())
- .addDef(TmpReg)
+ Result = MIB.buildInstr(I.getOpcode(), {TmpReg}, {})
.addImm(I.getImm());
// clang-format on
break;
case RISCVMatInt::RegX0:
- Result = MIB.buildInstr(I.getOpcode())
- .addDef(TmpReg)
- .addReg(SrcReg)
- .addReg(RISCV::X0);
+ Result = MIB.buildInstr(I.getOpcode(), {TmpReg},
+ {SrcReg, Register(RISCV::X0)});
break;
case RISCVMatInt::RegReg:
- Result = MIB.buildInstr(I.getOpcode())
- .addDef(TmpReg)
- .addReg(SrcReg)
- .addReg(SrcReg);
+ Result = MIB.buildInstr(I.getOpcode(), {TmpReg}, {SrcReg, SrcReg});
break;
case RISCVMatInt::RegImm:
- Result = MIB.buildInstr(I.getOpcode())
- .addDef(TmpReg)
- .addReg(SrcReg)
- .addImm(I.getImm());
+ Result =
+ MIB.buildInstr(I.getOpcode(), {TmpReg}, {SrcReg}).addImm(I.getImm());
break;
}
@@ -611,8 +603,7 @@ bool RISCVInstructionSelector::selectGlobalValue(
// Use PC-relative addressing to access the symbol. This generates the
// pattern (PseudoLLA sym), which expands to (addi (auipc %pcrel_hi(sym))
// %pcrel_lo(auipc)).
- Result = MIB.buildInstr(RISCV::PseudoLLA)
- .addDef(DefReg)
+ Result = MIB.buildInstr(RISCV::PseudoLLA, {DefReg}, {})
.addGlobalAddress(GV, 0);
} else {
// Use PC-relative addressing to access the GOT for this symbol, then
@@ -626,8 +617,7 @@ bool RISCVInstructionSelector::selectGlobalValue(
MachineMemOperand::MOInvariant,
DefTy, Align(DefTy.getSizeInBits() / 8));
- Result = MIB.buildInstr(RISCV::PseudoLGA)
- .addDef(DefReg)
+ Result = MIB.buildInstr(RISCV::PseudoLGA, {DefReg}, {})
.addGlobalAddress(GV, 0)
.addMemOperand(MemOp);
}
@@ -650,16 +640,13 @@ bool RISCVInstructionSelector::selectGlobalValue(
// absolute addresses -2 GiB and +2 GiB. This generates the pattern (addi
// (lui %hi(sym)) %lo(sym)).
Register AddrHiDest = MRI.createVirtualRegister(&RISCV::GPRRegClass);
- MachineInstr *AddrHi = MIB.buildInstr(RISCV::LUI)
- .addDef(AddrHiDest)
+ MachineInstr *AddrHi = MIB.buildInstr(RISCV::LUI, {AddrHiDest}, {})
.addGlobalAddress(GV, RISCVII::MO_HI);
if (!constrainSelectedInstRegOperands(*AddrHi, TII, TRI, RBI))
return false;
- Result = MIB.buildInstr(RISCV::ADDI)
- .addDef(DefReg)
- .addReg(AddrHiDest)
+ Result = MIB.buildInstr(RISCV::ADDI, {DefReg}, {AddrHiDest})
.addGlobalAddress(GV, 0, RISCVII::MO_LO);
if (!constrainSelectedInstRegOperands(*Result, TII, TRI, RBI))
@@ -685,16 +672,14 @@ bool RISCVInstructionSelector::selectGlobalValue(
MachineMemOperand::MOInvariant,
DefTy, Align(DefTy.getSizeInBits() / 8));
- Result = MIB.buildInstr(RISCV::PseudoLGA)
- .addDef(DefReg)
+ Result = MIB.buildInstr(RISCV::PseudoLGA, {DefReg}, {})
.addGlobalAddress(GV, 0)
.addMemOperand(MemOp);
} else {
// Generate a sequence for accessing addresses within any 2GiB range
// within the address space. This generates the pattern (PseudoLLA sym),
// which expands to (addi (auipc %pcrel_hi(sym)) %pcrel_lo(auipc)).
- Result = MIB.buildInstr(RISCV::PseudoLLA)
- .addDef(DefReg)
+ Result = MIB.buildInstr(RISCV::PseudoLLA, {DefReg}, {})
.addGlobalAddress(GV, 0);
}
More information about the llvm-commits
mailing list