15 #ifndef LLVM_LINKALLPASSES_H
16 #define LLVM_LINKALLPASSES_H
43 struct ForcePassLinking {
49 if (std::getenv(
"bar") != (
char*) -1)
FunctionPass * createSpeculativeExecutionPass()
FunctionPass * createInstCountPass()
FunctionPass * createStraightLineStrengthReducePass()
FunctionPass * createGVNPass(bool NoLoads=false)
FunctionPass * createDomOnlyViewerPass()
Pass * createLoopRerollPass()
ModulePass * createIPConstantPropagationPass()
createIPConstantPropagationPass - This pass propagates constants from call sites into the bodies of f...
Pass * createLoopSimplifyPass()
FunctionPass * createScalarEvolutionAliasAnalysisPass()
FunctionPass * createBoundsCheckingPass()
Pass * createLoopStrengthReducePass()
FunctionPass * createPostDomPrinterPass()
FunctionPass * createLowerSwitchPass()
FunctionPass * createScalarReplAggregatesPass(signed Threshold=-1, bool UseDomTree=true, signed StructMemberThreshold=-1, signed ArrayElementThreshold=-1, signed ScalarLoadThreshold=-1)
FunctionPass * createSafeStackPass()
This pass splits the stack into a safe stack and an unsafe stack to protect against stack-based overf...
Pass * createDeadInstEliminationPass()
ModulePass * createGCOVProfilerPass(const GCOVOptions &Options=GCOVOptions::getDefault())
ModulePass * createMergeFunctionsPass()
createMergeFunctionsPass - This pass discovers identical functions and collapses them.
FunctionPass * createDependenceAnalysisPass()
createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis pass...
ScalarEvolution - This class is the main scalar evolution driver.
FunctionPass * createDivergenceAnalysisPass()
end namespace anonymous
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 * createIPSCCPPass()
createIPSCCPPass - This pass propagates constants from call sites into the bodies of functions...
FunctionPass * createFloat2IntPass()
FunctionPass * createRegionInfoPass()
Pass * createSingleLoopExtractorPass()
createSingleLoopExtractorPass - This pass extracts one natural loop from the program into a function ...
FunctionPass * createAAEvalPass()
ModulePass * createEliminateAvailableExternallyPass()
This transform is designed to eliminate available external globals (functions or global variables) ...
FunctionPass * createDemoteRegisterToMemoryPass()
Pass * createAlwaysInlinerPass()
createAlwaysInlinerPass - Return a new pass object that inlines only functions that are marked as "al...
The pass manager to schedule RegionPasses.
FunctionPass * createAlignmentFromAssumptionsPass()
FunctionPass * createJumpThreadingPass(int Threshold=-1)
FunctionPass * createRegionOnlyViewerPass()
ModulePass * createStripNonDebugSymbolsPass()
ImmutablePass * createNoAAPass()
Pass * createFunctionAttrsPass()
createFunctionAttrsPass - This pass discovers functions that do not access memory, or only read memory, and gives them the readnone/readonly attribute.
FunctionPass * createLibCallAliasAnalysisPass(LibCallInfo *LCI)
createLibCallAliasAnalysisPass - Create an alias analysis pass that knows about the semantics of a se...
ModulePass * createStripDeadDebugInfoPass()
FunctionPass * createDomViewerPass()
FunctionPass * createConstantPropagationPass()
FunctionPass * createReassociatePass()
Pass * createArgumentPromotionPass(unsigned maxElements=3)
createArgumentPromotionPass - This pass promotes "by reference" arguments to be passed by value if th...
FunctionPass * createSinkingPass()
ModulePass * createAliasAnalysisCounterPass()
Pass * createObjCARCAPElimPass()
Pass * createGlobalsModRefPass()
FunctionPass * createDeadCodeEliminationPass()
Pass * createObjCARCContractPass()
Pass * createLoopUnswitchPass(bool OptimizeForSize=false)
Pass * createLoopVectorizePass(bool NoUnrolling=false, bool AlwaysVectorize=true)
ImmutablePass * createBasicAliasAnalysisPass()
FunctionPass * createRegionOnlyPrinterPass()
ImmutablePass * createScopedNoAliasAAPass()
Pass * createUnifyFunctionExitNodesPass()
ImmutablePass * createCFLAliasAnalysisPass()
Pass * createLoopUnrollPass(int Threshold=-1, int Count=-1, int AllowPartial=-1, int Runtime=-1)
FunctionPass * createInstructionCombiningPass()
ModulePass * createGlobalDCEPass()
createGlobalDCEPass - This transform is designed to eliminate unreachable internal globals (functions...
FunctionPass * createLazyValueInfoPass()
createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.
FunctionPass * createCodeGenPreparePass(const TargetMachine *TM=nullptr)
createCodeGenPreparePass - Transform the code to expose more pattern matching during instruction sele...
Pass * createCorrelatedValuePropagationPass()
FunctionPass * createDomPrinterPass()
FunctionPass * createMemDepPrinter()
Pass * createLoopRotatePass(int MaxHeaderSize=-1)
ImmutablePass * createTypeBasedAliasAnalysisPass()
FunctionPass * createSeparateConstOffsetFromGEPPass(const TargetMachine *TM=nullptr, bool LowerGEP=false)
Pass * createObjCARCExpandPass()
FunctionPass * createTailCallEliminationPass()
A pass that runs on each Region in a function.
ModulePass * createDeadArgEliminationPass()
createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the b...
FunctionPass * createBreakCriticalEdgesPass()
FunctionPass * createCFGSimplificationPass(int Threshold=-1, std::function< bool(const Function &)> Ftor=nullptr)
ModulePass * createInstrProfilingPass(const InstrProfOptions &Options=InstrProfOptions())
Insert frontend instrumentation based profiling.
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang","erlang-compatible garbage collector")
FunctionPass * createMemCpyOptPass()
FunctionPass * createBitTrackingDCEPass()
ModulePass * createConstantMergePass()
createConstantMergePass - This function returns a new pass that merges duplicate global constants tog...
FunctionPass * createEarlyCSEPass()
ModulePass * createGlobalOptimizerPass()
createGlobalOptimizerPass - This function returns a new pass that optimizes non-address taken interna...
FunctionPass * createRegionViewerPass()
FunctionPass * createLintPass()
Create a lint pass.
FunctionPass * createDomOnlyPrinterPass()
Pass * createLoopInterchangePass()
FunctionPass * createDeadStoreEliminationPass()
ImmutablePass * createObjCARCAliasAnalysisPass()
A collection of metadata nodes that might be associated with a memory access used by the alias-analys...
Pass * createLowerAtomicPass()
BasicBlockPass * createPrintBasicBlockPass(raw_ostream &OS, const std::string &Banner="")
Create and return a pass that writes the BB to the specified raw_ostream.
FunctionPass * createRegionPrinterPass()
ModulePass * createRewriteSymbolsPass()
FunctionPass * createPostDomViewerPass()
Pass * createLoopExtractorPass()
createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it...
FunctionPass * createMergedLoadStoreMotionPass()
createMergedLoadStoreMotionPass - The public interface to this file.
FunctionPass * createPAEvalPass()
Pass * createLoopDeletionPass()
Pass * createObjCARCOptPass()
BasicBlockPass * createBBVectorizePass(const VectorizeConfig &C=VectorizeConfig())
Pass * createLoopIdiomPass()
ModulePass * createModuleDebugInfoPrinterPass()
FunctionPass * createSCCPPass()
FunctionPass * createPartiallyInlineLibCallsPass()
FunctionPass * createAggressiveDCEPass()
FunctionPass * createLowerInvokePass()
ModulePass * createInternalizePass(ArrayRef< const char * > ExportList)
createInternalizePass - This pass loops over all of the functions in the input module, internalizing all globals (functions and variables) it can.
FunctionPass * createInstructionNamerPass()
FunctionPass * createPostDomOnlyViewerPass()
FunctionPass * createCostModelAnalysisPass()
Pass * createAliasDebugger()
FunctionPass * createPostDomOnlyPrinterPass()
Pass * createSLPVectorizerPass()
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.
FunctionPass * createPromoteMemoryToRegisterPass()
This file defines passes to print out IR in various granularities.
FunctionPass * createPostDomTree()
ModulePass * createPartialInliningPass()
createPartialInliningPass - This pass inlines parts of functions.
Pass * createFunctionInliningPass()
createFunctionInliningPass - Return a new pass object that uses a heuristic to inline direct function...
Pass * createPruneEHPass()
createPruneEHPass - Return a new pass object which transforms invoke instructions into calls...
ModulePass * createStripDeadPrototypesPass()
createStripDeadPrototypesPass - This pass removes any function declarations (prototypes) that are not...
ModulePass * createStripSymbolsPass(bool OnlyDebugInfo=false)
This class implements an extremely fast bulk output stream that can only output to a stream...
Pass * createStructurizeCFGPass()
Create the pass.
FunctionPass * createScalarizerPass()
FunctionPass * createInstructionSimplifierPass()
FunctionPass * createMemDerefPrinter()
ModulePass * createCallGraphPrinterPass()
bool AreStatisticsEnabled()
Check if statistics are enabled.
ModulePass * createMetaRenamerPass()
Pass * createIndVarSimplifyPass()
Pass * createInductiveRangeCheckEliminationPass()
FunctionPass * createLowerExpectIntrinsicPass()
ModulePass * createCallGraphViewerPass()
FunctionPass * createConstantHoistingPass()
FunctionPass * createNaryReassociatePass()