aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmara Emerson <aemerson@apple.com>2020-04-08 14:15:25 -0700
committerAmara Emerson <aemerson@apple.com>2020-04-08 14:38:33 -0700
commitbefc788cfaa996b8399765d8157283d2336750fb (patch)
tree4f605bd497f189927673ae3286b9c7857b0ea379
parent67bdda63502c0db94daf99d1d6fc8522d6361013 (diff)
downloadllvm-befc788cfaa996b8399765d8157283d2336750fb.zip
llvm-befc788cfaa996b8399765d8157283d2336750fb.tar.gz
llvm-befc788cfaa996b8399765d8157283d2336750fb.tar.bz2
GlobalISel: Add a setInstrAndDebugLoc(MachineInstr&) convenience helper to MachineIRBuilder. NFC.
This saves doing two separate calls to set the Instr and DebugLoc from an existing MI.
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h7
-rw-r--r--llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp15
2 files changed, 12 insertions, 10 deletions
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h b/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
index c163c31..4a646e0 100644
--- a/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
+++ b/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
@@ -313,6 +313,13 @@ public:
void setInstr(MachineInstr &MI);
/// @}
+ /// Set the insertion point to before MI, and set the debug loc to MI's loc.
+ /// \pre MI must be in getMF().
+ void setInstrAndDebugLoc(MachineInstr &MI) {
+ setInstr(MI);
+ setDebugLoc(MI.getDebugLoc());
+ }
+
void setChangeObserver(GISelChangeObserver &Observer);
void stopObservingChanges();
/// @}
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index 001c877..1779523 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -633,8 +633,7 @@ LegalizerHelper::libcall(MachineInstr &MI) {
unsigned Size = LLTy.getSizeInBits();
auto &Ctx = MIRBuilder.getMF().getFunction().getContext();
- MIRBuilder.setInstr(MI);
- MIRBuilder.setDebugLoc(MI.getDebugLoc());
+ MIRBuilder.setInstrAndDebugLoc(MI);
switch (MI.getOpcode()) {
default:
@@ -731,8 +730,7 @@ LegalizerHelper::libcall(MachineInstr &MI) {
LegalizerHelper::LegalizeResult LegalizerHelper::narrowScalar(MachineInstr &MI,
unsigned TypeIdx,
LLT NarrowTy) {
- MIRBuilder.setInstr(MI);
- MIRBuilder.setDebugLoc(MI.getDebugLoc());
+ MIRBuilder.setInstrAndDebugLoc(MI);
uint64_t SizeOp0 = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits();
uint64_t NarrowSize = NarrowTy.getSizeInBits();
@@ -1612,8 +1610,7 @@ LegalizerHelper::widenScalarInsert(MachineInstr &MI, unsigned TypeIdx,
LegalizerHelper::LegalizeResult
LegalizerHelper::widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy) {
- MIRBuilder.setInstr(MI);
- MIRBuilder.setDebugLoc(MI.getDebugLoc());
+ MIRBuilder.setInstrAndDebugLoc(MI);
switch (MI.getOpcode()) {
default:
@@ -2205,8 +2202,7 @@ LegalizerHelper::bitcast(MachineInstr &MI, unsigned TypeIdx, LLT CastTy) {
LegalizerHelper::LegalizeResult
LegalizerHelper::lower(MachineInstr &MI, unsigned TypeIdx, LLT Ty) {
using namespace TargetOpcode;
- MIRBuilder.setInstr(MI);
- MIRBuilder.setDebugLoc(MI.getDebugLoc());
+ MIRBuilder.setInstrAndDebugLoc(MI);
switch(MI.getOpcode()) {
default:
@@ -3241,8 +3237,7 @@ LegalizerHelper::fewerElementsVector(MachineInstr &MI, unsigned TypeIdx,
LLT NarrowTy) {
using namespace TargetOpcode;
- MIRBuilder.setInstr(MI);
- MIRBuilder.setDebugLoc(MI.getDebugLoc());
+ MIRBuilder.setInstrAndDebugLoc(MI);
switch (MI.getOpcode()) {
case G_IMPLICIT_DEF:
return fewerElementsVectorImplicitDef(MI, TypeIdx, NarrowTy);