Go to the documentation of this file.
14 #ifndef LLVM_LINKALLPASSES_H
15 #define LLVM_LINKALLPASSES_H
61 struct ForcePassLinking {
70 if (std::getenv(
"bar") != (
char*) -1)
ModulePass * createInstrProfilingLegacyPass(const InstrProfOptions &Options=InstrProfOptions(), bool IsCS=false)
Insert frontend instrumentation based profiling. Parameter IsCS indicates if.
FunctionPass * createMustExecutePrinter()
ModulePass * createJMCInstrumenterPass()
JMC instrument pass.
FunctionPass * createMergedLoadStoreMotionPass(bool SplitFooterBB=false)
createMergedLoadStoreMotionPass - The public interface to this file.
FunctionPass * createLowerInvokePass()
ModulePass * createMustBeExecutedContextPrinter()
FunctionPass * createRegionOnlyPrinterPass()
FunctionPass * createTailCallEliminationPass()
FunctionPass * createSeparateConstOffsetFromGEPPass(bool LowerGEP=false)
FunctionPass * createBoundsCheckingLegacyPass()
Legacy pass creation function for the above pass.
FunctionPass * createBreakCriticalEdgesPass()
FunctionPass * createPostDomOnlyPrinterWrapperPassPass()
ImmutablePass * createCFLAndersAAWrapperPass()
A raw_ostream that writes to an std::string.
Pass * createAlwaysInlinerLegacyPass(bool InsertLifetime=true)
Create a legacy pass manager instance of a pass to inline and remove functions marked as "always_inli...
FunctionPass * createCFGSimplificationPass(SimplifyCFGOptions Options=SimplifyCFGOptions(), std::function< bool(const Function &)> Ftor=nullptr)
FunctionPass * createFixIrreduciblePass()
Pass * createLoopSimplifyCFGPass()
Pass * createPruneEHPass()
createPruneEHPass - Return a new pass object which transforms invoke instructions into calls,...
FunctionPass * createLintLegacyPassPass()
FunctionPass * createEarlyCSEPass(bool UseMemorySSA=false)
ModulePass * createDeadArgEliminationPass()
createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the b...
A collection of metadata nodes that might be associated with a memory access used by the alias-analys...
FunctionPass * createInstructionNamerPass()
Pass * createVectorCombinePass()
ImmutablePass * createCFLSteensAAWrapperPass()
Pass * createLoopIdiomPass()
FunctionPass * createDeadStoreEliminationPass()
FunctionPass * createGuardWideningPass()
Pass * createLoopStrengthReducePass()
FunctionPass * createMemCpyOptPass()
The public interface to this file...
Implementation of the target library information.
ModulePass * createMergeFunctionsPass()
createMergeFunctionsPass - This pass discovers identical functions and collapses them.
ModulePass * createLowerGlobalDtorsLegacyPass()
FunctionPass * createGVNPass(bool NoMemDepAnalysis=false)
Create a legacy GVN pass.
Pass * createAttributorLegacyPass()
FunctionPass * createPostDomPrinterWrapperPassPass()
ModulePass * createRewriteSymbolsPass()
FunctionPass * createExpandMemCmpPass()
FunctionPass * createControlHeightReductionLegacyPass()
ModulePass * createStripDeadPrototypesPass()
createStripDeadPrototypesPass - This pass removes any function declarations (prototypes) that are not...
Pass * createLoopExtractorPass()
createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it...
Pass * createLoopGuardWideningPass()
Pass * createAttributorCGSCCLegacyPass()
FunctionPass * createFloat2IntPass()
FunctionPass * createPAEvalPass()
Pass * createSLPVectorizerPass()
FunctionPass * createDomViewerWrapperPassPass()
Pass * createSingleLoopExtractorPass()
createSingleLoopExtractorPass - This pass extracts one natural loop from the program into a function ...
bool AreStatisticsEnabled()
Check if statistics are enabled.
FunctionPass * createAAEvalPass()
Create a wrapper of the above for the legacy pass manager.
FunctionPass * createDFAJumpThreadingPass()
Pass * createLoopSinkPass()
Pass * createLoopInterchangePass()
ModulePass * createCallGraphViewerPass()
FunctionPass * createConstantHoistingPass()
FunctionPass * createNaryReassociatePass()
Pass * createObjCARCExpandPass()
Pass * createLoopVersioningLICMPass()
FunctionPass * createNewGVNPass()
FunctionPass * createDependenceAnalysisWrapperPass()
createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis wrapper pass.
FunctionPass * createLibCallsShrinkWrapPass()
FunctionPass * createDomOnlyPrinterWrapperPassPass()
FunctionPass * createUnifyLoopExitsPass()
Pass * createIndVarSimplifyPass()
Pass * createLoadStoreVectorizerPass()
Create a legacy pass manager instance of the LoadStoreVectorizer pass.
ModulePass * createGlobalOptimizerPass()
createGlobalOptimizerPass - This function returns a new pass that optimizes non-address taken interna...
FunctionPass * createCostModelAnalysisPass()
FunctionPass * createSinkingPass()
void viewCFGOnly() const
viewCFGOnly - This function is meant for use from the debugger.
FunctionPass * createSpeculativeExecutionPass()
FunctionPass * createInjectTLIMappingsLegacyPass()
FunctionPass * createPostDomViewerWrapperPassPass()
FunctionPass * createPostDomTree()
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang", "erlang-compatible garbage collector")
Pass * createFunctionInliningPass()
createFunctionInliningPass - Return a new pass object that uses a heuristic to inline direct function...
FunctionPass * createLowerSwitchPass()
ModulePass * createIPSCCPPass()
createIPSCCPPass - This pass propagates constants from call sites into the bodies of functions,...
ModulePass * createGlobalsAAWrapperPass()
Pass * createRedundantDbgInstEliminationPass()
Pass * createLoopRerollPass()
FunctionPass * createGVNHoistPass()
Pass * createReversePostOrderFunctionAttrsPass()
createReversePostOrderFunctionAttrsPass - This pass walks SCCs of the call graph in RPO to deduce and...
FunctionPass * createAggressiveInstCombinerPass()
ModulePass * createModuleDebugInfoPrinterPass()
ModulePass * createGlobalDCEPass()
createGlobalDCEPass - This transform is designed to eliminate unreachable internal globals (functions...
FunctionPass * createLowerExpectIntrinsicPass()
ImmutablePass * createObjCARCAAWrapperPass()
Pass * createLowerAtomicPass()
FunctionPass * createPartiallyInlineLibCallsPass()
Pass * createCorrelatedValuePropagationPass()
Pass * createPostOrderFunctionAttrsLegacyPass()
Create a legacy pass manager instance of a pass to compute function attrs in post-order.
static Function * Create(FunctionType *Ty, LinkageTypes Linkage, unsigned AddrSpace, const Twine &N="", Module *M=nullptr)
FunctionPass * createScalarizerPass()
Create a legacy pass manager instance of the Scalarizer pass.
FunctionPass * createPostInlineEntryExitInstrumenterPass()
ModulePass * createMetaRenamerPass()
Pass * createLoopSimplifyPass()
FunctionPass * createDemoteRegisterToMemoryPass()
FunctionPass * createExpandVectorPredicationPass()
This pass expands the vector predication intrinsics into unpredicated instructions with selects or ju...
ImmutablePass * createTypeBasedAAWrapperPass()
Pass * createArgumentPromotionPass(unsigned maxElements=3)
createArgumentPromotionPass - This pass promotes "by reference" arguments to be passed by value if th...
The pass manager to schedule RegionPasses.
FunctionPass * createSCCPPass()
FunctionPass * createDomPrinterWrapperPassPass()
Pass * createInductiveRangeCheckEliminationPass()
ModulePass * createStripSymbolsPass(bool OnlyDebugInfo=false)
FunctionPass * createHardwareLoopsPass()
Create Hardware Loop pass.
ModulePass * createStripDeadDebugInfoPass()
FunctionPass * createRegionViewerPass()
ModulePass * createCalledValuePropagationPass()
createCalledValuePropagationPass - Attach metadata to indirct call sites indicating the set of functi...
Pass * createFunctionImportPass()
This pass performs iterative function importing from other modules.
Pass * createUnifyFunctionExitNodesPass()
FunctionPass * createTLSVariableHoistPass()
Pass * createStructurizeCFGPass(bool SkipUniformRegions=false)
When SkipUniformRegions is true the structizer will not structurize regions that only contain uniform...
FunctionPass * createMemDerefPrinter()
FunctionPass * createReassociatePass()
FunctionPass * createBasicAAWrapperPass()
FunctionPass * createAggressiveDCEPass()
FunctionPass * createSelectOptimizePass()
This pass converts conditional moves to conditional jumps when profitable.
constexpr static LocationSize beforeOrAfterPointer()
Any location before or after the base pointer (but still within the underlying object).
FunctionPass * createScalarizeMaskedMemIntrinLegacyPass()
ImmutablePass * createScopedNoAliasAAWrapperPass()
FunctionPass * createBitTrackingDCEPass()
FunctionPass * createAlignmentFromAssumptionsPass()
FunctionPass * createInstCountPass()
ModulePass * createCallGraphDOTPrinterPass()
ModulePass * createStripNonDebugSymbolsPass()
FunctionPass * createSCEVAAWrapperPass()
Creates an instance of SCEVAAWrapperPass.
Pass * createLoopRotatePass(int MaxHeaderSize=-1, bool PrepareForLTO=false)
ModulePass * createInternalizePass(std::function< bool(const GlobalValue &)> MustPreserveGV)
createInternalizePass - This pass loops over all of the functions in the input module,...
Provides information about what library functions are available for the current target.
FunctionPass * createInstSimplifyLegacyPass()
FunctionPass * createRegionInfoPass()
FunctionPass * createPromoteMemoryToRegisterPass()
FunctionPass * createPostDomOnlyViewerWrapperPassPass()
FunctionPass * createInstructionCombiningPass()
@ ExternalLinkage
Externally visible function.
FunctionPass * createLazyValueInfoPass()
createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.
ModulePass * createEliminateAvailableExternallyPass()
This transform is designed to eliminate available external globals (functions or global variables)
Pass * createLoopPredicationPass()
FunctionPass * createLowerConstantIntrinsicsPass()
FunctionPass * createStraightLineStrengthReducePass()
ModulePass * createConstantMergePass()
createConstantMergePass - This function returns a new pass that merges duplicate global constants tog...
FunctionPass * createRegionOnlyViewerPass()
FunctionPass * createMemDepPrinter()
FunctionPass * createLoopFlattenPass()
FunctionPass * createLegacyDivergenceAnalysisPass()
FunctionPass * createEntryExitInstrumenterPass()
Pass * createObjCARCOptPass()
Pass * createObjCARCAPElimPass()
Pass * createWarnMissedTransformationsPass()
ModulePass * createPartialInliningPass()
createPartialInliningPass - This pass inlines parts of functions.
FunctionPass * createDeadCodeEliminationPass()
FunctionPass * createRegionPrinterPass()
Pass * createObjCARCContractPass()
FunctionPass * createSpeculativeExecutionIfHasBranchDivergencePass()
ModulePass * createFunctionSpecializationPass()
createFunctionSpecializationPass - This pass propagates constants from call sites to the specialized ...
FunctionPass * createSafeStackPass()
This pass splits the stack into a safe stack and an unsafe stack to protect against stack-based overf...
Pass * createLoopDeletionPass()
FunctionPass * createSROAPass()
FunctionPass * createDomOnlyViewerWrapperPassPass()
Pass * createLoopUnrollAndJamPass(int OptLevel=2)
FunctionPass * createCodeGenPreparePass()
createCodeGenPreparePass - Transform the code to expose more pattern matching during instruction sele...
FunctionPass * createJumpThreadingPass(bool FreezeSelectCond=false, int Threshold=-1)
Pass * createLoopVectorizePass()
Pass * createLoopUnrollPass(int OptLevel=2, bool OnlyWhenForced=false, bool ForgetAllSCEV=false, int Threshold=-1, int Count=-1, int AllowPartial=-1, int Runtime=-1, int UpperBound=-1, int AllowPeeling=-1)
Pass * createOpenMPOptCGSCCLegacyPass()
createOpenMPOptLegacyPass - OpenMP specific optimizations.
FunctionPass * createPrintFunctionPass(raw_ostream &OS, const std::string &Banner="")
Create and return a pass that prints functions to the specified raw_ostream as they are processed.
ModulePass * createPrintModulePass(raw_ostream &OS, const std::string &Banner="", bool ShouldPreserveUseListOrder=false)
Create and return a pass that writes the module to the specified raw_ostream.
Pass * createMergeICmpsLegacyPass()