14#ifndef LLVM_LIB_TARGET_RISCV_RISCV_H
15#define LLVM_LIB_TARGET_RISCV_RISCV_H
This header defines various interfaces for pass management in LLVM.
FunctionAnalysisManager FAM
ModuleAnalysisManager MAM
FunctionPass class - This class is used to implement most global optimizations.
Properties which a MachineFunction may have at a given point in time.
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.
RISCVCodeGenPreparePass(const RISCVTargetMachine *TM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
MachineFunctionProperties getRequiredProperties() const
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
RISCVGatherScatterLoweringPass(const RISCVTargetMachine *TM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
RISCVISelDAGToDAGPass(RISCVTargetMachine &TM, CodeGenOptLevel OptLevel)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
MachineFunctionProperties getRequiredProperties() const
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
This class provides the information for the target register banks.
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
MachineFunctionProperties getRequiredProperties() const
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
MachineFunctionProperties getRequiredProperties() const
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
RISCVZacasABIFixPass(const RISCVTargetMachine *TM)
SelectionDAGISelPass(std::unique_ptr< SelectionDAGISel > Selector)
Pass manager infrastructure for declaring and invalidating analyses.
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createRISCVVectorPeepholeLegacyPass()
void initializeRISCVO0PreLegalizerCombinerLegacyPass(PassRegistry &)
void initializeRISCVFoldMemOffsetLegacyPass(PassRegistry &)
void initializeRISCVLateBranchOptLegacyPass(PassRegistry &)
FunctionPass * createRISCVCodeGenPrepareLegacyPass()
FunctionPass * createRISCVISelDagLegacyPass(RISCVTargetMachine &TM, CodeGenOptLevel OptLevel)
FunctionPass * createRISCVOptWInstrsLegacyPass()
void initializeRISCVQCRelaxMarkingLegacyPass(PassRegistry &)
FunctionPass * createRISCVGatherScatterLoweringLegacyPass()
FunctionPass * createRISCVMoveMergeLegacyPass()
Returns an instance of the move merge pass.
FunctionPass * createRISCVLandingPadSetupLegacyPass()
InstructionSelector * createRISCVInstructionSelector(const RISCVTargetMachine &TM, const RISCVSubtarget &Subtarget, const RISCVRegisterBankInfo &RBI)
void initializeRISCVPromoteConstantLegacyPass(PassRegistry &)
void initializeRISCVExpandPseudoPreEmitLegacyPass(PassRegistry &)
FunctionPass * createRISCVExpandPseudoPostRALegacyPass()
FunctionPass * createRISCVExpandPseudoAtomicsLegacyPass()
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
FunctionPass * createRISCVZacasABIFixLegacyPass()
void initializeRISCVCodeGenPrepareLegacyPass(PassRegistry &)
void initializeRISCVRedundantCopyEliminationLegacyPass(PassRegistry &)
FunctionPass * createRISCVLateBranchOptLegacyPass()
ModulePass * createRISCVPromoteConstantLegacyPass()
FunctionPass * createRISCVIndirectBranchTrackingLegacyPass()
FunctionPass * createRISCVDeadRegisterDefinitionsLegacyPass()
void initializeRISCVPostLegalizerCombinerLegacyPass(PassRegistry &)
FunctionPass * createRISCVMakeCompressibleLegacyPass()
Returns an instance of the Make Compressible Optimization pass.
FunctionPass * createRISCVPreLegalizerCombinerLegacyPass()
void initializeRISCVLoadStoreOptLegacyPass(PassRegistry &)
void initializeRISCVExpandPseudoAtomicsLegacyPass(PassRegistry &)
FunctionPass * createRISCVExpandPseudoPreEmitLegacyPass()
void initializeRISCVDAGToDAGISelLegacyPass(PassRegistry &)
void initializeRISCVInsertVSETVLILegacyPass(PassRegistry &)
FunctionPass * createRISCVFoldMemOffsetLegacyPass()
void initializeRISCVMakeCompressibleLegacyPass(PassRegistry &)
FunctionPass * createRISCVMergeBaseOffsetLegacyPass()
Returns an instance of the Merge Base Offset Optimization pass.
void initializeRISCVPushPopOptLegacyPass(PassRegistry &)
FunctionPass * createRISCVPushPopOptLegacyPass()
createRISCVPushPopOptimizationPass - returns an instance of the Push/Pop optimization pass.
FunctionPass * createRISCVQCRelaxMarkingLegacyPass()
FunctionPass * createRISCVLoadStoreOptLegacyPass()
void initializeRISCVExpandPseudoPreRALegacyPass(PassRegistry &)
void initializeRISCVInsertWriteVXRMLegacyPass(PassRegistry &)
CodeGenOptLevel
Code generation optimization level.
void initializeRISCVLandingPadSetupLegacyPass(PassRegistry &)
FunctionPass * createRISCVInsertWriteVXRMLegacyPass()
void initializeRISCVVLOptimizerLegacyPass(PassRegistry &)
FunctionPass * createRISCVPostLegalizerCombinerLegacyPass()
void initializeRISCVDeadRegisterDefinitionsLegacyPass(PassRegistry &)
void initializeRISCVPreAllocZilsdOptLegacyPass(PassRegistry &)
FunctionPass * createRISCVRedundantCopyEliminationLegacyPass()
void initializeRISCVVectorPeepholeLegacyPass(PassRegistry &)
void initializeRISCVVMV0EliminationLegacyPass(PassRegistry &)
void initializeRISCVIndirectBranchTrackingLegacyPass(PassRegistry &)
FunctionPass * createRISCVExpandPseudoPreRALegacyPass()
FunctionPass * createRISCVVMV0EliminationLegacyPass()
FunctionPass * createRISCVO0PreLegalizerCombinerLegacyPass()
void initializeRISCVMergeBaseOffsetLegacyPass(PassRegistry &)
void initializeRISCVAsmPrinterPass(PassRegistry &)
FunctionPass * createRISCVInsertReadWriteCSRLegacyPass()
char & RISCVInsertVSETVLILegacyID
void initializeRISCVOptWInstrsLegacyPass(PassRegistry &)
void initializeRISCVGatherScatterLoweringLegacyPass(PassRegistry &)
void initializeRISCVInsertReadWriteCSRLegacyPass(PassRegistry &)
void initializeRISCVZacasABIFixLegacyPass(PassRegistry &)
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
void initializeRISCVPreLegalizerCombinerLegacyPass(PassRegistry &)
FunctionPass * createRISCVVLOptimizerLegacyPass()
void initializeRISCVExpandPseudoPostRALegacyPass(PassRegistry &)
FunctionPass * createRISCVPreAllocZilsdOptLegacyPass()
FunctionPass * createRISCVInsertVSETVLILegacyPass()
Returns an instance of the Insert VSETVLI pass.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
void initializeRISCVMoveMergeLegacyPass(PassRegistry &)
A CRTP mix-in for passes that can be skipped.
A CRTP mix-in for passes that should not be skipped.