33 StringRef getPassName()
const override {
return "X86 LFI rewrites"; }
37char X86LFIRewriteLegacy::ID = 0;
46 return MBB.hasAddressTaken() ||
MBB.isEHPad();
80 return new X86LFIRewriteLegacy();
static void alignToBundle(MachineBasicBlock &MBB)
static constexpr Align BundleAlign
static void alignIndirectBranchTargets(MachineFunction &MF)
static bool isIndirectlyReachable(const MachineBasicBlock &MBB)
FunctionPass class - This class is used to implement most global optimizations.
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
void ensureAlignment(Align A)
ensureAlignment - Make sure the function is at least A bytes aligned.
const MachineJumpTableInfo * getJumpTableInfo() const
getJumpTableInfo - Return the jump table info object for the current function.
A set of analyses that are preserved following a run of a transformation pass.
static PreservedAnalyses all()
Construct a special preserved set that preserves all passes.
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
FunctionPass * createX86LFIRewritePass()
This struct is a compact representation of a valid (non-zero power of two) alignment.
static constexpr Align Constant()
Allow constructions of constexpr Align.
MachineJumpTableEntry - One jump table in the jump table info.