14#ifndef LLVM_LIB_TARGET_XCORE_XCORE_H
15#define LLVM_LIB_TARGET_XCORE_XCORE_H
This header defines various interfaces for pass management in LLVM.
ModuleAnalysisManager MAM
FunctionPass class - This class is used to implement most global optimizations.
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
A Module instance is used to store all the information related to an LLVM module.
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
A set of analyses that are preserved following a run of a transformation pass.
SelectionDAGISelPass(std::unique_ptr< SelectionDAGISel > Selector)
Primary interface to the complete machine description for the target machine.
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
XCoreISelDAGToDAGPass(XCoreTargetMachine &TM, CodeGenOptLevel OptLevel)
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
Pass manager infrastructure for declaring and invalidating analyses.
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createXCoreFrameToArgsOffsetEliminationLegacyPass()
createXCoreFrameToArgsOffsetEliminationPass - returns an instance of the Frame to args offset elimina...
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
void initializeXCoreDAGToDAGISelLegacyPass(PassRegistry &)
FunctionPass * createXCoreISelDagLegacyPass(XCoreTargetMachine &TM, CodeGenOptLevel OptLevel)
createXCoreISelDagLegacyPass - This pass converts a legalized DAG into a XCore-specific DAG,...
ModulePass * createXCoreLowerThreadLocalLegacyPass()
CodeGenOptLevel
Code generation optimization level.
void initializeXCoreAsmPrinterPass(PassRegistry &)
void initializeXCoreLowerThreadLocalLegacyPass(PassRegistry &p)
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
A CRTP mix-in for passes that should not be skipped.