[PATCH] D158303: [CodeGen] Use the TII hook for Noop insertion in BBSections (NFC)
Daniel Hoekwater via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 18 11:52:52 PDT 2023
dhoekwater created this revision.
dhoekwater added a reviewer: rahmanl.
Herald added subscribers: pengfei, hiraditya.
Herald added a project: All.
dhoekwater requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Refactor BasicBlockSections to use the target-specific noop insertion
hook from TargetInstrInfo instead of building it ourselves. Using the
TII hook is both cleaner and makes it easier to extend BBSections to
non-X86 targets.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D158303
Files:
llvm/lib/CodeGen/BasicBlockSections.cpp
llvm/lib/Target/X86/X86InstrInfo.cpp
llvm/lib/Target/X86/X86InstrInfo.h
Index: llvm/lib/Target/X86/X86InstrInfo.h
===================================================================
--- llvm/lib/Target/X86/X86InstrInfo.h
+++ llvm/lib/Target/X86/X86InstrInfo.h
@@ -457,6 +457,9 @@
int64_t Offset2,
unsigned NumLoads) const override;
+ void insertNoop(MachineBasicBlock &MBB,
+ MachineBasicBlock::iterator MI) const override;
+
MCInst getNop() const override;
bool
Index: llvm/lib/Target/X86/X86InstrInfo.cpp
===================================================================
--- llvm/lib/Target/X86/X86InstrInfo.cpp
+++ llvm/lib/Target/X86/X86InstrInfo.cpp
@@ -8443,6 +8443,12 @@
MI.setDesc(get(table[Domain - 1]));
}
+void X86InstrInfo::insertNoop(MachineBasicBlock &MBB,
+ MachineBasicBlock::iterator MI) const {
+ DebugLoc DL;
+ BuildMI(MBB, MI, DL, get(X86::NOOP));
+}
+
/// Return the noop instruction to use for a noop.
MCInst X86InstrInfo::getNop() const {
MCInst Nop;
Index: llvm/lib/CodeGen/BasicBlockSections.cpp
===================================================================
--- llvm/lib/CodeGen/BasicBlockSections.cpp
+++ llvm/lib/CodeGen/BasicBlockSections.cpp
@@ -285,9 +285,7 @@
MachineBasicBlock::iterator MI = MBB.begin();
while (!MI->isEHLabel())
++MI;
- MCInst Nop = MF.getSubtarget().getInstrInfo()->getNop();
- BuildMI(MBB, MI, DebugLoc(),
- MF.getSubtarget().getInstrInfo()->get(Nop.getOpcode()));
+ MF.getSubtarget().getInstrInfo()->insertNoop(MBB, MI);
}
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158303.551589.patch
Type: text/x-patch
Size: 1610 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230818/cfab8a78/attachment.bin>
More information about the llvm-commits
mailing list