diff options
author | Amara Emerson <aemerson@apple.com> | 2020-04-08 14:15:25 -0700 |
---|---|---|
committer | Amara Emerson <aemerson@apple.com> | 2020-04-08 14:38:33 -0700 |
commit | befc788cfaa996b8399765d8157283d2336750fb (patch) | |
tree | 4f605bd497f189927673ae3286b9c7857b0ea379 | |
parent | 67bdda63502c0db94daf99d1d6fc8522d6361013 (diff) | |
download | llvm-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.h | 7 | ||||
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 15 |
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); |