LLVM 22.0.0git
Passes.h File Reference
#include "llvm/CodeGen/RegAllocCommon.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Discriminator.h"
#include <functional>
#include <string>

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::vfs

Functions

LLVM_ABI FunctionPassllvm::createAtomicExpandLegacyPass ()
 AtomicExpandPass - At IR level this pass replace atomic instructions with __atomic_* library calls, or target specific instruction which implement the same semantics in a way which better fits the target backend.
LLVM_ABI FunctionPassllvm::createUnreachableBlockEliminationPass ()
 createUnreachableBlockEliminationPass - The LLVM code generator does not work well with unreachable basic blocks (what live ranges make sense for a block that cannot be reached?).
LLVM_ABI MachineFunctionPassllvm::createGCEmptyBasicBlocksPass ()
 createGCEmptyBasicblocksPass - Empty basic blocks (basic blocks without real code) appear as the result of optimization passes removing instructions.
LLVM_ABI MachineFunctionPassllvm::createBasicBlockSectionsPass ()
 createBasicBlockSections Pass - This pass assigns sections to machine basic blocks and is enabled with -fbasic-block-sections.
LLVM_ABI MachineFunctionPassllvm::createBasicBlockPathCloningPass ()
LLVM_ABI MachineFunctionPassllvm::createMachineFunctionSplitterPass ()
 createMachineFunctionSplitterPass - This pass splits machine functions using profile information.
LLVM_ABI MachineFunctionPassllvm::createStaticDataSplitterPass ()
 createStaticDataSplitterPass - This is a machine-function pass that categorizes static data hotness using profile information.
LLVM_ABI ModulePassllvm::createStaticDataAnnotatorPass ()
 createStaticDataAnnotatorPASS - This is a module pass that reads from StaticDataProfileInfoWrapperPass and annotates the section prefix of global variables.
LLVM_ABI MachineFunctionPassllvm::createMachineFunctionPrinterPass (raw_ostream &OS, const std::string &Banner="")
 MachineFunctionPrinter pass - This pass prints out the machine function to the given stream as a debugging tool.
LLVM_ABI MachineFunctionPassllvm::createStackFrameLayoutAnalysisPass ()
 StackFramePrinter pass - This pass prints out the machine function's stack frame to the given stream as a debugging tool.
LLVM_ABI MachineFunctionPassllvm::createPrintMIRPass (raw_ostream &OS)
 MIRPrinting pass - this pass prints out the LLVM IR into the given stream using the MIR serialization format.
LLVM_ABI MachineFunctionPassllvm::createResetMachineFunctionPass (bool EmitFallbackDiag, bool AbortOnFailedISel)
 This pass resets a MachineFunction when it has the FailedISel property as if it was just created.
LLVM_ABI FunctionPassllvm::createCodeGenPrepareLegacyPass ()
 createCodeGenPrepareLegacyPass - Transform the code to expose more pattern matching during instruction selection.
LLVM_ABI FunctionPassllvm::createComplexDeinterleavingPass (const TargetMachine *TM)
 This pass implements generation of target-specific intrinsics to support handling of complex number arithmetic.
LLVM_ABI FunctionPassllvm::createVirtRegRewriter (bool ClearVirtRegs=true)
LLVM_ABI FunctionPassllvm::createFastRegisterAllocator ()
 FastRegisterAllocation Pass - This pass register allocates as fast as possible.
LLVM_ABI FunctionPassllvm::createFastRegisterAllocator (RegAllocFilterFunc F, bool ClearVirtRegs)
LLVM_ABI FunctionPassllvm::createBasicRegisterAllocator ()
 BasicRegisterAllocation Pass - This pass implements a degenerate global register allocator using the basic regalloc framework.
LLVM_ABI FunctionPassllvm::createBasicRegisterAllocator (RegAllocFilterFunc F)
LLVM_ABI FunctionPassllvm::createGreedyRegisterAllocator ()
 Greedy register allocation pass - This pass implements a global register allocator for optimized builds.
LLVM_ABI FunctionPassllvm::createGreedyRegisterAllocator (RegAllocFilterFunc F)
LLVM_ABI FunctionPassllvm::createDefaultPBQPRegisterAllocator ()
 PBQPRegisterAllocation Pass - This pass implements the Partitioned Boolean Quadratic Prograaming (PBQP) based register allocator.
LLVM_ABI MachineFunctionPassllvm::createPrologEpilogInserterPass ()
LLVM_ABI FunctionPassllvm::createIfConverter (std::function< bool(const MachineFunction &)> Ftor)
LLVM_ABI FunctionPassllvm::createGCLoweringPass ()
 GCLowering Pass - Used by gc.root to perform its default lowering operations.
LLVM_ABI FunctionPassllvm::createShadowStackGCLoweringPass ()
 ShadowStackGCLowering - Implements the custom lowering mechanism used by the shadow stack GC.
LLVM_ABI MachineFunctionPassllvm::createMachineCopyPropagationPass (bool UseCopyInstr)
LLVM_ABI FunctionPassllvm::createStackProtectorPass ()
 createStackProtectorPass - This pass adds stack protectors to functions.
LLVM_ABI FunctionPassllvm::createMachineVerifierPass (const std::string &Banner)
 createMachineVerifierPass - This pass verifies cenerated machine code instructions for correctness.
LLVM_ABI FunctionPassllvm::createDwarfEHPass (CodeGenOptLevel OptLevel)
 createDwarfEHPass - This pass mulches exception handling code into a form adapted to code generation.
LLVM_ABI FunctionPassllvm::createWinEHPass (bool DemoteCatchSwitchPHIOnly=false)
 createWinEHPass - Prepares personality functions used by MSVC on Windows, in addition to the Itanium LSDA based personalities.
LLVM_ABI FunctionPassllvm::createSjLjEHPreparePass (const TargetMachine *TM)
 createSjLjEHPreparePass - This pass adapts exception handling code to use the GCC-style builtin setjmp/longjmp (sjlj) to handling EH control flow.
LLVM_ABI FunctionPassllvm::createWasmEHPass ()
 createWasmEHPass - This pass adapts exception handling code to use WebAssembly's exception handling scheme.
LLVM_ABI FunctionPassllvm::createUnpackMachineBundles (std::function< bool(const MachineFunction &)> Ftor)
LLVM_ABI FunctionPassllvm::createInterleavedAccessPass ()
 InterleavedAccess Pass - This pass identifies and matches interleaved memory accesses to target specific intrinsics.
LLVM_ABI FunctionPassllvm::createInterleavedLoadCombinePass ()
 InterleavedLoadCombines Pass - This pass identifies interleaved loads and combines them into wide loads detectable by InterleavedAccessPass.
LLVM_ABI ModulePassllvm::createLowerEmuTLSPass ()
 LowerEmuTLS - This pass generates __emutls_[vt].xyz variables for all TLS variables for the emulated TLS model.
LLVM_ABI ModulePassllvm::createPreISelIntrinsicLoweringPass ()
 This pass lowers the @llvm.load.relative and @llvm.objc.
LLVM_ABI Passllvm::createGlobalMergePass (const TargetMachine *TM, unsigned MaximalOffset, bool OnlyOptimizeForSize=false, bool MergeExternalByDefault=false, bool MergeConstantByDefault=false, bool MergeConstAggressiveByDefault=false)
 GlobalMerge - This pass merges internal (by default) globals into structs to enable reuse of a base pointer by indexed addressing modes.
LLVM_ABI FunctionPassllvm::createSafeStackPass ()
 This pass splits the stack into a safe stack and an unsafe stack to protect against stack-based overflow vulnerabilities.
LLVM_ABI FunctionPassllvm::createRegUsageInfoCollector ()
 This pass is executed POST-RA to collect which physical registers are preserved by given machine function.
LLVM_ABI FunctionPassllvm::createRegUsageInfoPropPass ()
 Return a MachineFunction pass that identifies call sites and propagates register usage information of callee to caller if available with PysicalRegisterUsageInfo pass.
LLVM_ABI FunctionPassllvm::createFreeMachineFunctionPass ()
 This pass frees the memory occupied by the MachineFunction.
LLVM_ABI ModulePassllvm::createGlobalMergeFuncPass ()
 This pass performs merging similar functions globally.
LLVM_ABI ModulePassllvm::createMachineOutlinerPass (RunOutliner RunOutlinerMode)
 This pass performs outlining on machine instructions directly before printing assembly.
LLVM_ABI FunctionPassllvm::createExpandReductionsPass ()
 This pass expands the reduction intrinsics into sequences of shuffles.
LLVM_ABI FunctionPassllvm::createReplaceWithVeclibLegacyPass ()
LLVM_ABI FunctionPassllvm::createExpandLargeDivRemPass ()
LLVM_ABI FunctionPassllvm::createExpandFpPass ()
LLVM_ABI FunctionPassllvm::createExpandMemCmpLegacyPass ()
LLVM_ABI FunctionPassllvm::createBreakFalseDeps ()
 Creates Break False Dependencies pass.
LLVM_ABI FunctionPassllvm::createIndirectBrExpandPass ()
LLVM_ABI FunctionPassllvm::createCFIFixup ()
 Creates CFI Fixup pass.
LLVM_ABI FunctionPassllvm::createCFIInstrInserter ()
 Creates CFI Instruction Inserter pass.
FunctionPassllvm::createExpandFpPass (CodeGenOptLevel)
LLVM_ABI FunctionPassllvm::createCFGuardLongjmpPass ()
 Creates CFGuard longjmp target identification pass.
LLVM_ABI FunctionPassllvm::createEHContGuardTargetsPass ()
 Creates Windows EH Continuation Guard target identification pass.
LLVM_ABI FunctionPassllvm::createHardwareLoopsLegacyPass ()
 Create Hardware Loop pass.
LLVM_ABI FunctionPassllvm::createPseudoProbeInserter ()
 This pass inserts pseudo probe annotation for callsite profiling.
LLVM_ABI FunctionPassllvm::createTypePromotionLegacyPass ()
 Create IR Type Promotion pass.
LLVM_ABI FunctionPassllvm::createMIRAddFSDiscriminatorsPass (sampleprof::FSDiscriminatorPass P)
 Add Flow Sensitive Discriminators.
LLVM_ABI FunctionPassllvm::createMIRProfileLoaderPass (std::string File, std::string RemappingFile, sampleprof::FSDiscriminatorPass P, IntrusiveRefCntPtr< vfs::FileSystem > FS)
 Read Flow Sensitive Profile.
LLVM_ABI ModulePassllvm::createDebugifyMachineModulePass ()
 Creates MIR Debugify pass.
LLVM_ABI ModulePassllvm::createStripDebugMachineModulePass (bool OnlyDebugified)
 Creates MIR Strip Debug pass.
LLVM_ABI ModulePassllvm::createCheckDebugMachineModulePass ()
 Creates MIR Check Debug pass.
LLVM_ABI FunctionPassllvm::createX86LowerAMXTypePass ()
 The pass transforms load/store <256 x i32> to AMX load/store intrinsics or split the data to two <128 x i32>.
LLVM_ABI FunctionPassllvm::createX86LowerAMXIntrinsicsPass ()
 The pass transforms amx intrinsics to scalar operation if the function has optnone attribute or it is O0.
LLVM_ABI FunctionPassllvm::createRegAllocScoringPass ()
 When learning an eviction policy, extract score(reward) information, otherwise this does nothing.
LLVM_ABI ModulePassllvm::createJMCInstrumenterPass ()
 JMC instrument pass.
LLVM_ABI FunctionPassllvm::createSelectOptimizePass ()
 This pass converts conditional moves to conditional jumps when profitable.
LLVM_ABI FunctionPassllvm::createCallBrPass ()
LLVM_ABI ModulePassllvm::createWindowsSecureHotPatchingPass ()
 Creates Windows Secure Hot Patch pass.
LLVM_ABI FunctionPassllvm::createKCFIPass ()
 Lowers KCFI operand bundles for indirect calls.

Variables

LLVM_ABI charllvm::AtomicExpandID = AtomicExpandLegacy::ID
 AtomicExpandID – Lowers atomic operations in terms of either cmpxchg load-linked/store-conditional loops.
LLVM_ABI charllvm::MachineLoopInfoID = MachineLoopInfoWrapperPass::ID
 MachineLoopInfo - This pass is a loop analysis pass.
LLVM_ABI charllvm::MachineDominatorsID = MachineDominatorTreeWrapperPass::ID
 MachineDominators - This pass is a machine dominators analysis pass.
LLVM_ABI charllvm::MachineDominanceFrontierID = MachineDominanceFrontier::ID
 MachineDominanaceFrontier - This pass is a machine dominators analysis.
LLVM_ABI charllvm::MachineRegionInfoPassID
 MachineRegionInfo - This pass computes SESE regions for machine functions.
LLVM_ABI charllvm::EdgeBundlesWrapperLegacyID
 EdgeBundles analysis - Bundle machine CFG edges.
LLVM_ABI charllvm::LiveVariablesID = LiveVariablesWrapperPass::ID
 LiveVariables pass - This pass computes the set of blocks in which each variable is life and sets machine operand kill flags.
LLVM_ABI charllvm::PHIEliminationID = PHIElimination::ID
 PHIElimination - This pass eliminates machine instruction PHI nodes by inserting copy instructions.
LLVM_ABI charllvm::LiveIntervalsID = LiveIntervalsWrapperPass::ID
 LiveIntervals - This analysis keeps track of the live ranges of virtual and physical registers.
LLVM_ABI charllvm::LiveStacksID = LiveStacksWrapperLegacy::ID
 LiveStacks pass. An analysis keeping track of the liveness of stack slots.
LLVM_ABI charllvm::TwoAddressInstructionPassID = TwoAddressInstructionLegacyPass::ID
 TwoAddressInstruction - This pass reduces two-address instructions to use two operands.
LLVM_ABI charllvm::ProcessImplicitDefsID = ProcessImplicitDefsLegacy::ID
 ProcessImpicitDefs pass - This pass removes IMPLICIT_DEFs.
LLVM_ABI charllvm::RegisterCoalescerID = RegisterCoalescerLegacy::ID
 RegisterCoalescer - This pass merges live ranges to eliminate copies.
LLVM_ABI charllvm::MachineSchedulerID = MachineSchedulerLegacy::ID
 MachineScheduler - This pass schedules machine instructions.
LLVM_ABI charllvm::PostMachineSchedulerID = PostMachineSchedulerLegacy::ID
 PostMachineScheduler - This pass schedules machine instructions postRA.
LLVM_ABI charllvm::SpillPlacementID = SpillPlacementWrapperLegacy::ID
 SpillPlacement analysis.
LLVM_ABI charllvm::ShrinkWrapID = ShrinkWrapLegacy::ID
 ShrinkWrap pass. Look for the best place to insert save and restore.
LLVM_ABI charllvm::LiveRangeShrinkID = LiveRangeShrink::ID
 LiveRangeShrink pass.
LLVM_ABI charllvm::RAGreedyLegacyID = RAGreedyLegacy::ID
 Greedy register allocator.
LLVM_ABI charllvm::RABasicID = RABasic::ID
 Basic register allocator.
LLVM_ABI charllvm::VirtRegRewriterID = VirtRegRewriterLegacy::ID
 VirtRegRewriter pass.
LLVM_ABI charllvm::UnreachableMachineBlockElimID
 UnreachableMachineBlockElimination - This pass removes unreachable machine basic blocks.
LLVM_ABI charllvm::DeadMachineInstructionElimID = DeadMachineInstructionElim::ID
 DeadMachineInstructionElim - This pass removes dead machine instructions.
LLVM_ABI charllvm::DetectDeadLanesID = DetectDeadLanesLegacy::ID
 This pass adds dead/undef flags after analyzing subregister lanes.
LLVM_ABI charllvm::PostRAMachineSinkingID = PostRAMachineSinkingLegacy::ID
 This pass perform post-ra machine sink for COPY instructions.
LLVM_ABI charllvm::MIRAddFSDiscriminatorsID
 This pass adds flow sensitive discriminators.
LLVM_ABI charllvm::MIRProfileLoaderPassID = MIRProfileLoaderPass::ID
 This pass reads flow sensitive profile.
LLVM_ABI charllvm::InitUndefID = InitUndefLegacy::ID
LLVM_ABI charllvm::PrologEpilogCodeInserterID = PEILegacy::ID
 PrologEpilogCodeInserter - This pass inserts prolog and epilog code, and eliminates abstract frame references.
LLVM_ABI charllvm::ExpandPostRAPseudosID = ExpandPostRALegacy::ID
 ExpandPostRAPseudos - This pass expands pseudo instructions after register allocation.
LLVM_ABI charllvm::PostRAHazardRecognizerID = PostRAHazardRecognizerLegacy::ID
 PostRAHazardRecognizer - This pass runs the post-ra hazard recognizer.
LLVM_ABI charllvm::PostRASchedulerID = PostRASchedulerLegacy::ID
 PostRAScheduler - This pass performs post register allocation scheduling.
LLVM_ABI charllvm::BranchFolderPassID = BranchFolderLegacy::ID
 BranchFolding - This pass performs machine code CFG based optimizations to delete branches to branches, eliminate branches to successor blocks (creating fall throughs), and eliminating branches over branches.
LLVM_ABI charllvm::BranchRelaxationPassID = BranchRelaxationLegacy::ID
 BranchRelaxation - This pass replaces branches that need to jump further than is supported by a branch instruction.
LLVM_ABI charllvm::MachineFunctionPrinterPassID = MachineFunctionPrinterPass::ID
 MachineFunctionPrinterPass - This pass prints out MachineInstr's.
LLVM_ABI charllvm::MIRPrintingPassID = MIRPrintingPass::ID
 MIRPrintingPass - this pass prints out the LLVM IR using the MIR serialization format.
LLVM_ABI charllvm::TailDuplicateLegacyID = TailDuplicateLegacy::ID
 TailDuplicate - Duplicate blocks with unconditional branches into tails of their predecessors.
LLVM_ABI charllvm::EarlyTailDuplicateLegacyID = EarlyTailDuplicateLegacy::ID
 Duplicate blocks with unconditional branches into tails of their predecessors.
LLVM_ABI charllvm::MachineTraceMetricsID = MachineTraceMetricsWrapperPass::ID
 MachineTraceMetrics - This pass computes critical path and CPU resource usage in an ensemble of traces.
LLVM_ABI charllvm::EarlyIfConverterLegacyID = EarlyIfConverterLegacy::ID
 EarlyIfConverter - This pass performs if-conversion on SSA form by inserting cmov instructions.
LLVM_ABI charllvm::EarlyIfPredicatorID = EarlyIfPredicator::ID
 EarlyIfPredicator - This pass performs if-conversion on SSA form by predicating if/else block and insert select at the join point.
LLVM_ABI charllvm::MachineCombinerID = MachineCombiner::ID
 This pass performs instruction combining using trace metrics to estimate critical-path and resource depth.
LLVM_ABI charllvm::StackColoringLegacyID = StackColoringLegacy::ID
 StackSlotColoring - This pass performs stack coloring and merging.
LLVM_ABI charllvm::StackFrameLayoutAnalysisPassID = StackFrameLayoutAnalysisLegacy::ID
 StackFramePrinter - This pass prints the stack frame layout and variable mappings.
LLVM_ABI charllvm::IfConverterID = IfConverter::ID
 IfConverter - This pass performs machine code if conversion.
LLVM_ABI charllvm::MachineBlockPlacementID = MachineBlockPlacementLegacy::ID
 MachineBlockPlacement - This pass places basic blocks based on branch probabilities.
LLVM_ABI charllvm::MachineBlockPlacementStatsID = MachineBlockPlacementStatsLegacy::ID
 MachineBlockPlacementStats - This pass collects statistics about the basic block placement using branch probabilities and block frequency information.
LLVM_ABI charllvm::GCLoweringID = LowerIntrinsics::ID
 GCLowering Pass - Used by gc.root to perform its default lowering operations.
LLVM_ABI charllvm::ShadowStackGCLoweringID = ShadowStackGCLowering::ID
 ShadowStackGCLowering - Implements the custom lowering mechanism used by the shadow stack GC.
LLVM_ABI charllvm::GCMachineCodeAnalysisID = GCMachineCodeAnalysis::ID
 GCMachineCodeAnalysis - Target-independent pass to mark safe points in machine code.
LLVM_ABI charllvm::MachineCSELegacyID = MachineCSELegacy::ID
 MachineCSE - This pass performs global CSE on machine instructions.
LLVM_ABI charllvm::MIRCanonicalizerID = MIRCanonicalizer::ID
 MIRCanonicalizer - This pass canonicalizes MIR by renaming vregs according to the semantics of the instruction as well as hoists code.
LLVM_ABI charllvm::ImplicitNullChecksID = ImplicitNullChecks::ID
 ImplicitNullChecks - This pass folds null pointer checks into nearby memory operations.
LLVM_ABI charllvm::MachineLICMID = MachineLICM::ID
 This pass performs loop invariant code motion on machine instructions.
LLVM_ABI charllvm::EarlyMachineLICMID = EarlyMachineLICM::ID
 This pass performs loop invariant code motion on machine instructions.
LLVM_ABI charllvm::MachineSinkingLegacyID = MachineSinkingLegacy::ID
 MachineSinking - This pass performs sinking on machine instructions.
LLVM_ABI charllvm::MachineCopyPropagationID = MachineCopyPropagationLegacy::ID
 MachineCopyPropagation - This pass performs copy propagation on machine instructions.
LLVM_ABI charllvm::MachineLateInstrsCleanupID = MachineLateInstrsCleanupLegacy::ID
 MachineLateInstrsCleanup - This pass removes redundant identical instructions after register allocation and rematerialization.
LLVM_ABI charllvm::PeepholeOptimizerLegacyID = PeepholeOptimizerLegacy::ID
 PeepholeOptimizer - This pass performs peephole optimizations - like extension and comparison eliminations.
LLVM_ABI charllvm::OptimizePHIsLegacyID = OptimizePHIsLegacy::ID
 OptimizePHIs - This pass optimizes machine instruction PHIs to take advantage of opportunities created during DAG legalization.
LLVM_ABI charllvm::StackSlotColoringID = StackSlotColoringLegacy::ID
 StackSlotColoring - This pass performs stack slot coloring.
LLVM_ABI charllvm::FuncletLayoutID = FuncletLayout::ID
 This pass lays out funclets contiguously.
LLVM_ABI charllvm::XRayInstrumentationID = XRayInstrumentationLegacy::ID
 This pass inserts the XRay instrumentation sleds if they are supported by the target platform.
LLVM_ABI charllvm::FEntryInserterID = FEntryInserterLegacy::ID
 This pass inserts FEntry calls.
LLVM_ABI charllvm::PatchableFunctionID = PatchableFunctionLegacy::ID
 This pass implements the "patchable-function" attribute.
LLVM_ABI charllvm::LocalStackSlotAllocationID = LocalStackSlotPass::ID
 LocalStackSlotAllocation - This pass assigns local frame indices to stack slots relative to one another and allocates base registers to access them when it is estimated by the target to be out of range of normal frame pointer or stack pointer index addressing.
LLVM_ABI charllvm::FinalizeISelID = FinalizeISel::ID
 This pass expands pseudo-instructions, reserves registers and adjusts machine frame information.
LLVM_ABI charllvm::UnpackMachineBundlesID = UnpackMachineBundles::ID
 UnpackMachineBundles - This pass unpack machine instruction bundles.
LLVM_ABI charllvm::StackMapLivenessID = StackMapLiveness::ID
 StackMapLiveness - This pass analyses the register live-out set of stackmap/patchpoint intrinsics and attaches the calculated information to the intrinsic for later emission to the StackMap.
LLVM_ABI charllvm::MachineSanitizerBinaryMetadataID
LLVM_ABI charllvm::RemoveLoadsIntoFakeUsesID = RemoveLoadsIntoFakeUsesLegacy::ID
 RemoveLoadsIntoFakeUses pass.
LLVM_ABI charllvm::RemoveRedundantDebugValuesID = RemoveRedundantDebugValuesLegacy::ID
 RemoveRedundantDebugValues pass.
LLVM_ABI charllvm::MachineCFGPrinterID = MachineCFGPrinter::ID
 MachineCFGPrinter pass.
LLVM_ABI charllvm::LiveDebugValuesID = LiveDebugValuesLegacy::ID
 LiveDebugValues pass.
LLVM_ABI charllvm::RenameIndependentSubregsID = RenameIndependentSubregsLegacy::ID
 This pass detects subregister lanes in a virtual register that are used independently of other lanes and splits them into separate virtual registers.
LLVM_ABI charllvm::MachinePipelinerID = MachinePipeliner::ID
 This pass performs software pipelining on machine instructions.
LLVM_ABI charllvm::FixupStatepointCallerSavedID = FixupStatepointCallerSavedLegacy::ID
 The pass fixups statepoint machine instruction to replace usage of caller saved registers with stack slots.