Go to the documentation of this file.
24 #define DEBUG_TYPE "finalize-isel"
44 "Finalize ISel and expand pseudo-instructions",
false,
false)
58 if (
MI.usesCustomInsertionHook()) {
This is an optimization pass for GlobalISel generic memory operations.
virtual MachineBasicBlock * EmitInstrWithCustomInserter(MachineInstr &MI, MachineBasicBlock *MBB) const
This method should be implemented by targets that mark instructions with the 'usesCustomInserter' fla...
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
INITIALIZE_PASS(FinalizeISel, DEBUG_TYPE, "Finalize ISel and expand pseudo-instructions", false, false) bool FinalizeISel
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
This class defines information used to lower LLVM code to legal SelectionDAG operators that the targe...
Represent the analysis usage information of a pass.
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
Representation of each machine instruction.
char & FinalizeISelID
This pass expands pseudo-instructions, reserves registers and adjusts machine frame information.
MachineBasicBlock MachineBasicBlock::iterator MBBI
self_iterator getIterator()
Iterator for intrusive lists based on ilist_node.
virtual void finalizeLowering(MachineFunction &MF) const
Execute target specific actions to finalize target lowering.