LLVM  mainline
Functions | Variables
PassManagerBuilder.cpp File Reference
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
#include "llvm-c/Transforms/PassManagerBuilder.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/Passes.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Verifier.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Vectorize.h"
Include dependency graph for PassManagerBuilder.cpp:

Go to the source code of this file.

Functions

PassManagerBuilderunwrap (LLVMPassManagerBuilderRef P)
LLVMPassManagerBuilderRef wrap (PassManagerBuilder *P)
LLVMPassManagerBuilderRef LLVMPassManagerBuilderCreate ()
 See llvm::PassManagerBuilder.
void LLVMPassManagerBuilderDispose (LLVMPassManagerBuilderRef PMB)
void LLVMPassManagerBuilderSetOptLevel (LLVMPassManagerBuilderRef PMB, unsigned OptLevel)
 See llvm::PassManagerBuilder::OptLevel.
void LLVMPassManagerBuilderSetSizeLevel (LLVMPassManagerBuilderRef PMB, unsigned SizeLevel)
 See llvm::PassManagerBuilder::SizeLevel.
void LLVMPassManagerBuilderSetDisableUnitAtATime (LLVMPassManagerBuilderRef PMB, LLVMBool Value)
 See llvm::PassManagerBuilder::DisableUnitAtATime.
void LLVMPassManagerBuilderSetDisableUnrollLoops (LLVMPassManagerBuilderRef PMB, LLVMBool Value)
 See llvm::PassManagerBuilder::DisableUnrollLoops.
void LLVMPassManagerBuilderSetDisableSimplifyLibCalls (LLVMPassManagerBuilderRef PMB, LLVMBool Value)
 See llvm::PassManagerBuilder::DisableSimplifyLibCalls.
void LLVMPassManagerBuilderUseInlinerWithThreshold (LLVMPassManagerBuilderRef PMB, unsigned Threshold)
 See llvm::PassManagerBuilder::Inliner.
void LLVMPassManagerBuilderPopulateFunctionPassManager (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM)
 See llvm::PassManagerBuilder::populateFunctionPassManager.
void LLVMPassManagerBuilderPopulateModulePassManager (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM)
 See llvm::PassManagerBuilder::populateModulePassManager.
void LLVMPassManagerBuilderPopulateLTOPassManager (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM, LLVMBool Internalize, LLVMBool RunInliner)
 See llvm::PassManagerBuilder::populateLTOPassManager.

Variables

static cl::opt< boolRunLoopVectorization ("vectorize-loops", cl::Hidden, cl::desc("Run the Loop vectorization passes"))
static cl::opt< boolRunSLPVectorization ("vectorize-slp", cl::Hidden, cl::desc("Run the SLP vectorization passes"))
static cl::opt< boolRunBBVectorization ("vectorize-slp-aggressive", cl::Hidden, cl::desc("Run the BB vectorization passes"))
static cl::opt< boolUseGVNAfterVectorization ("use-gvn-after-vectorization", cl::init(false), cl::Hidden, cl::desc("Run GVN instead of Early CSE after vectorization passes"))
static cl::opt< boolExtraVectorizerPasses ("extra-vectorizer-passes", cl::init(false), cl::Hidden, cl::desc("Run cleanup optimization passes after vectorization."))
static cl::opt< boolUseNewSROA ("use-new-sroa", cl::init(true), cl::Hidden, cl::desc("Enable the new, experimental SROA pass"))
static cl::opt< boolRunLoopRerolling ("reroll-loops", cl::Hidden, cl::desc("Run the loop rerolling pass"))
static cl::opt< boolRunFloat2Int ("float-to-int", cl::Hidden, cl::init(true), cl::desc("Run the float2int (float demotion) pass"))
static cl::opt< boolRunLoadCombine ("combine-loads", cl::init(false), cl::Hidden, cl::desc("Run the load combining pass"))
static cl::opt< boolRunSLPAfterLoopVectorization ("run-slp-after-loop-vectorization", cl::init(true), cl::Hidden, cl::desc("Run the SLP vectorizer (and BB vectorizer) after the Loop ""vectorizer instead of before"))
static cl::opt< boolUseCFLAA ("use-cfl-aa", cl::init(false), cl::Hidden, cl::desc("Enable the new, experimental CFL alias analysis"))
static cl::opt< boolEnableMLSM ("mlsm", cl::init(true), cl::Hidden, cl::desc("Enable motion of merged load and store"))
static cl::opt< boolEnableLoopInterchange ("enable-loopinterchange", cl::init(false), cl::Hidden, cl::desc("Enable the new, experimental LoopInterchange Pass"))
static cl::opt< boolEnableLoopDistribute ("enable-loop-distribute", cl::init(false), cl::Hidden, cl::desc("Enable the new, experimental LoopDistribution Pass"))
static ManagedStatic
< SmallVector< std::pair
< PassManagerBuilder::ExtensionPointTy,
PassManagerBuilder::ExtensionFn >, 8 > > 
GlobalExtensions
 Set of global extensions, automatically added as part of the standard set.

Function Documentation

Definition at line 546 of file PassManagerBuilder.cpp.

Definition at line 550 of file PassManagerBuilder.cpp.


Variable Documentation

cl::opt<bool> EnableLoopDistribute("enable-loop-distribute", cl::init(false), cl::Hidden, cl::desc("Enable the new, experimental LoopDistribution Pass")) [static]
cl::opt<bool> EnableLoopInterchange("enable-loopinterchange", cl::init(false), cl::Hidden, cl::desc("Enable the new, experimental LoopInterchange Pass")) [static]
cl::opt<bool> EnableMLSM("mlsm", cl::init(true), cl::Hidden, cl::desc("Enable motion of merged load and store")) [static]
cl::opt<bool> ExtraVectorizerPasses("extra-vectorizer-passes", cl::init(false), cl::Hidden, cl::desc("Run cleanup optimization passes after vectorization.")) [static]
ManagedStatic<SmallVector<std::pair<PassManagerBuilder::ExtensionPointTy, PassManagerBuilder::ExtensionFn>, 8> > GlobalExtensions [static]

Set of global extensions, automatically added as part of the standard set.

Definition at line 117 of file PassManagerBuilder.cpp.

Referenced by llvm::PassManagerBuilder::addGlobalExtension(), and llvm::PassManagerBuilder::populateModulePassManager().

cl::opt<bool> RunBBVectorization("vectorize-slp-aggressive", cl::Hidden, cl::desc("Run the BB vectorization passes")) [static]
cl::opt<bool> RunFloat2Int("float-to-int", cl::Hidden, cl::init(true), cl::desc("Run the float2int (float demotion) pass")) [static]
cl::opt<bool> RunLoadCombine("combine-loads", cl::init(false), cl::Hidden, cl::desc("Run the load combining pass")) [static]
cl::opt<bool> RunLoopRerolling("reroll-loops", cl::Hidden, cl::desc("Run the loop rerolling pass")) [static]
cl::opt<bool> RunLoopVectorization("vectorize-loops", cl::Hidden, cl::desc("Run the Loop vectorization passes")) [static]
cl::opt<bool> RunSLPAfterLoopVectorization("run-slp-after-loop-vectorization", cl::init(true), cl::Hidden, cl::desc("Run the SLP vectorizer (and BB vectorizer) after the Loop ""vectorizer instead of before")) [static]
cl::opt<bool> RunSLPVectorization("vectorize-slp", cl::Hidden, cl::desc("Run the SLP vectorization passes")) [static]
cl::opt<bool> UseCFLAA("use-cfl-aa", cl::init(false), cl::Hidden, cl::desc("Enable the new, experimental CFL alias analysis")) [static]
cl::opt<bool> UseGVNAfterVectorization("use-gvn-after-vectorization", cl::init(false), cl::Hidden, cl::desc("Run GVN instead of Early CSE after vectorization passes")) [static]
cl::opt<bool> UseNewSROA("use-new-sroa", cl::init(true), cl::Hidden, cl::desc("Enable the new, experimental SROA pass")) [static]