LLVM
10.0.0svn
|
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
#include "llvm-c/Transforms/PassManagerBuilder.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/BasicAliasAnalysis.h"
#include "llvm/Analysis/CFLAndersAliasAnalysis.h"
#include "llvm/Analysis/CFLSteensAliasAnalysis.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/InlineCost.h"
#include "llvm/Analysis/Passes.h"
#include "llvm/Analysis/ScopedNoAliasAA.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/TypeBasedAliasAnalysis.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/IR/Verifier.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Transforms/IPO/Attributor.h"
#include "llvm/Transforms/IPO/ForceFunctionAttrs.h"
#include "llvm/Transforms/IPO/FunctionAttrs.h"
#include "llvm/Transforms/IPO/InferFunctionAttrs.h"
#include "llvm/Transforms/InstCombine/InstCombine.h"
#include "llvm/Transforms/Instrumentation.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Scalar/GVN.h"
#include "llvm/Transforms/Scalar/InstSimplifyPass.h"
#include "llvm/Transforms/Scalar/LICM.h"
#include "llvm/Transforms/Scalar/LoopUnrollPass.h"
#include "llvm/Transforms/Scalar/SimpleLoopUnswitch.h"
#include "llvm/Transforms/Utils.h"
#include "llvm/Transforms/Vectorize.h"
#include "llvm/Transforms/Vectorize/LoopVectorize.h"
#include "llvm/Transforms/Vectorize/SLPVectorizer.h"
Go to the source code of this file.
Enumerations | |
enum | CFLAAType { CFLAAType::None, CFLAAType::Steensgaard, CFLAAType::Andersen, CFLAAType::Both, CFLAAType::None, CFLAAType::Steensgaard, CFLAAType::Andersen, CFLAAType::Both } |
Variables | |
static cl::opt< bool > | RunPartialInlining ("enable-partial-inlining", cl::init(false), cl::Hidden, cl::ZeroOrMore, cl::desc("Run Partial inlinining pass")) |
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 > | ExtraVectorizerPasses ("extra-vectorizer-passes", cl::init(false), cl::Hidden, cl::desc("Run cleanup optimization passes after vectorization.")) |
static cl::opt< bool > | RunLoopRerolling ("reroll-loops", cl::Hidden, cl::desc("Run the loop rerolling pass")) |
static cl::opt< bool > | RunNewGVN ("enable-newgvn", cl::init(false), cl::Hidden, cl::desc("Run the NewGVN pass")) |
static cl::opt< CFLAAType > | UseCFLAA ("use-cfl-aa", cl::init(CFLAAType::None), cl::Hidden, cl::desc("Enable the new, experimental CFL alias analysis"), cl::values(clEnumValN(CFLAAType::None, "none", "Disable CFL-AA"), clEnumValN(CFLAAType::Steensgaard, "steens", "Enable unification-based CFL-AA"), clEnumValN(CFLAAType::Andersen, "anders", "Enable inclusion-based CFL-AA"), clEnumValN(CFLAAType::Both, "both", "Enable both variants of CFL-AA"))) |
static cl::opt< bool > | EnableLoopInterchange ("enable-loopinterchange", cl::init(false), cl::Hidden, cl::desc("Enable the new, experimental LoopInterchange Pass")) |
static cl::opt< bool > | EnableUnrollAndJam ("enable-unroll-and-jam", cl::init(false), cl::Hidden, cl::desc("Enable Unroll And Jam Pass")) |
static cl::opt< bool > | EnablePrepareForThinLTO ("prepare-for-thinlto", cl::init(false), cl::Hidden, cl::desc("Enable preparation for ThinLTO.")) |
static cl::opt< bool > | EnablePerformThinLTO ("perform-thinlto", cl::init(false), cl::Hidden, cl::desc("Enable performing ThinLTO.")) |
cl::opt< bool > | EnableHotColdSplit ("hot-cold-split", cl::init(false), cl::Hidden, cl::desc("Enable hot-cold splitting pass")) |
static cl::opt< bool > | UseLoopVersioningLICM ("enable-loop-versioning-licm", cl::init(false), cl::Hidden, cl::desc("Enable the experimental Loop Versioning LICM pass")) |
static cl::opt< bool > | DisablePreInliner ("disable-preinline", cl::init(false), cl::Hidden, cl::desc("Disable pre-instrumentation inliner")) |
static cl::opt< int > | PreInlineThreshold ("preinline-threshold", cl::Hidden, cl::init(75), cl::ZeroOrMore, cl::desc("Control the amount of inlining in pre-instrumentation inliner " "(default = 75)")) |
static cl::opt< bool > | EnableGVNHoist ("enable-gvn-hoist", cl::init(false), cl::Hidden, cl::desc("Enable the GVN hoisting pass (default = off)")) |
static cl::opt< bool > | DisableLibCallsShrinkWrap ("disable-libcalls-shrinkwrap", cl::init(false), cl::Hidden, cl::desc("Disable shrink-wrap library calls")) |
static cl::opt< bool > | EnableSimpleLoopUnswitch ("enable-simple-loop-unswitch", cl::init(false), cl::Hidden, cl::desc("Enable the simple loop unswitch pass. Also enables independent " "cleanup passes integrated into the loop pass manager pipeline.")) |
static cl::opt< bool > | EnableGVNSink ("enable-gvn-sink", cl::init(false), cl::Hidden, cl::desc("Enable the GVN sinking pass (default = off)")) |
static cl::opt< bool > | EnableCHR ("enable-chr", cl::init(true), cl::Hidden, cl::desc("Enable control height reduction optimization (CHR)")) |
cl::opt< bool > | FlattenedProfileUsed ("flattened-profile-used", cl::init(false), cl::Hidden, cl::desc("Indicate the sample profile being used is flattened, i.e., " "no inline hierachy exists in the profile. ")) |
cl::opt< bool > | EnableOrderFileInstrumentation ("enable-order-file-instrumentation", cl::init(false), cl::Hidden, cl::desc("Enable order file instrumentation (default = off)")) |
static ManagedStatic< SmallVector< std::pair< PassManagerBuilder::ExtensionPointTy, PassManagerBuilder::ExtensionFn >, 8 > > | GlobalExtensions |
Set of global extensions, automatically added as part of the standard set. More... | |
|
strong |
Enumerator | |
---|---|
None | |
Steensgaard | |
Andersen | |
Both | |
None | |
Steensgaard | |
Andersen | |
Both |
Definition at line 73 of file PassManagerBuilder.cpp.
|
static |
Check if GlobalExtensions is constructed and not empty.
Since GlobalExtensions is a managed static, calling 'empty()' will trigger the construction of the object.
Definition at line 192 of file PassManagerBuilder.cpp.
Referenced by llvm::PassManagerBuilder::addExtension(), and llvm::PassManagerBuilder::populateModulePassManager().
|
inline |
Definition at line 1049 of file PassManagerBuilder.cpp.
References P.
|
inline |
Definition at line 1053 of file PassManagerBuilder.cpp.
References P.
|
static |
|
static |
|
static |
|
static |
|
static |
cl::opt<bool> EnableHotColdSplit("hot-cold-split", cl::init(false), cl::Hidden, cl::desc("Enable hot-cold splitting pass")) |
Referenced by llvm::PipelineTuningOptions::PipelineTuningOptions().
|
static |
cl::opt<bool> EnableOrderFileInstrumentation("enable-order-file-instrumentation", cl::init(false), cl::Hidden, cl::desc("Enable order file instrumentation (default = off)")) |
Referenced by llvm::PipelineTuningOptions::PipelineTuningOptions().
|
static |
Referenced by llvm::PassManagerBuilder::PassManagerBuilder().
|
static |
Referenced by llvm::PassManagerBuilder::PassManagerBuilder().
|
static |
|
static |
|
static |
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
cl::opt<bool> FlattenedProfileUsed("flattened-profile-used", cl::init(false), cl::Hidden, cl::desc("Indicate the sample profile being used is flattened, i.e., " "no inline hierachy exists in the profile. ")) |
Referenced by llvm::PipelineTuningOptions::PipelineTuningOptions().
|
static |
Set of global extensions, automatically added as part of the standard set.
Definition at line 187 of file PassManagerBuilder.cpp.
|
static |
Referenced by llvm::PassManagerBuilder::populateFunctionPassManager().
|
static |
Referenced by llvm::PassManagerBuilder::PassManagerBuilder().
|
static |
Referenced by llvm::PassManagerBuilder::PassManagerBuilder().
|
static |
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
|
static |
|
static |