LLVM
15.0.0git
|
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
#include "llvm-c/Transforms/PassManagerBuilder.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/CFLAndersAliasAnalysis.h"
#include "llvm/Analysis/CFLSteensAliasAnalysis.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/ScopedNoAliasAA.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/TypeBasedAliasAnalysis.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Target/CGPassBuilderOption.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/LICM.h"
#include "llvm/Transforms/Scalar/LoopUnrollPass.h"
#include "llvm/Transforms/Scalar/SimpleLoopUnswitch.h"
#include "llvm/Transforms/Utils.h"
#include "llvm/Transforms/Vectorize.h"
Go to the source code of this file.
Namespaces | |
llvm | |
This is an optimization pass for GlobalISel generic memory operations. | |
Functions | |
cl::opt< bool > | llvm::RunPartialInlining ("enable-partial-inlining", cl::init(false), cl::Hidden, cl::ZeroOrMore, cl::desc("Run Partial inlinining pass")) |
cl::opt< bool > | llvm::ExtraVectorizerPasses ("extra-vectorizer-passes", cl::init(false), cl::Hidden, cl::desc("Run cleanup optimization passes after vectorization.")) |
cl::opt< bool > | llvm::RunNewGVN ("enable-newgvn", cl::init(false), cl::Hidden, cl::desc("Run the NewGVN pass")) |
cl::opt< bool > | llvm::EnableLoopInterchange ("enable-loopinterchange", cl::init(false), cl::Hidden, cl::desc("Enable the experimental LoopInterchange Pass")) |
cl::opt< bool > | llvm::EnableUnrollAndJam ("enable-unroll-and-jam", cl::init(false), cl::Hidden, cl::desc("Enable Unroll And Jam Pass")) |
cl::opt< bool > | llvm::EnableLoopFlatten ("enable-loop-flatten", cl::init(false), cl::Hidden, cl::desc("Enable the LoopFlatten Pass")) |
cl::opt< bool > | llvm::EnableDFAJumpThreading ("enable-dfa-jump-thread", cl::desc("Enable DFA jump threading."), cl::init(false), cl::Hidden) |
cl::opt< bool > | llvm::EnableHotColdSplit ("hot-cold-split", cl::init(false), cl::ZeroOrMore, cl::desc("Enable hot-cold splitting pass")) |
cl::opt< bool > | llvm::EnableIROutliner ("ir-outliner", cl::init(false), cl::Hidden, cl::desc("Enable ir outliner pass")) |
cl::opt< bool > | llvm::DisablePreInliner ("disable-preinline", cl::init(false), cl::Hidden, cl::desc("Disable pre-instrumentation inliner")) |
cl::opt< int > | llvm::PreInlineThreshold ("preinline-threshold", cl::Hidden, cl::init(75), cl::ZeroOrMore, cl::desc("Control the amount of inlining in pre-instrumentation inliner " "(default = 75)")) |
cl::opt< bool > | llvm::EnableGVNHoist ("enable-gvn-hoist", cl::init(false), cl::ZeroOrMore, cl::desc("Enable the GVN hoisting pass (default = off)")) |
cl::opt< bool > | llvm::EnableGVNSink ("enable-gvn-sink", cl::init(false), cl::ZeroOrMore, cl::desc("Enable the GVN sinking pass (default = off)")) |
cl::opt< bool > | llvm::EnableCHR ("enable-chr", cl::init(true), cl::Hidden, cl::desc("Enable control height reduction optimization (CHR)")) |
cl::opt< bool > | llvm::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 > | llvm::EnableOrderFileInstrumentation ("enable-order-file-instrumentation", cl::init(false), cl::Hidden, cl::desc("Enable order file instrumentation (default = off)")) |
cl::opt< bool > | llvm::EnableMatrix ("enable-matrix", cl::init(false), cl::Hidden, cl::desc("Enable lowering of the matrix intrinsics")) |
cl::opt< bool > | llvm::EnableConstraintElimination ("enable-constraint-elimination", cl::init(false), cl::Hidden, cl::desc("Enable pass to eliminate conditions based on linear constraints.")) |
cl::opt< bool > | llvm::EnableFunctionSpecialization ("enable-function-specialization", cl::init(false), cl::Hidden, cl::desc("Enable Function Specialization pass")) |
cl::opt< AttributorRunOption > | llvm::AttributorRun ("attributor-enable", cl::Hidden, cl::init(AttributorRunOption::NONE), cl::desc("Enable the attributor inter-procedural deduction pass."), cl::values(clEnumValN(AttributorRunOption::ALL, "all", "enable all attributor runs"), clEnumValN(AttributorRunOption::MODULE, "module", "enable module-wide attributor runs"), clEnumValN(AttributorRunOption::CGSCC, "cgscc", "enable call graph SCC attributor runs"), clEnumValN(AttributorRunOption::NONE, "none", "disable attributor runs"))) |
static bool | GlobalExtensionsNotEmpty () |
Check if GlobalExtensions is constructed and not empty. More... | |
LLVMPassManagerBuilderRef | LLVMPassManagerBuilderCreate () |
See llvm::PassManagerBuilder. More... | |
void | LLVMPassManagerBuilderDispose (LLVMPassManagerBuilderRef PMB) |
void | LLVMPassManagerBuilderSetOptLevel (LLVMPassManagerBuilderRef PMB, unsigned OptLevel) |
See llvm::PassManagerBuilder::OptLevel. More... | |
void | LLVMPassManagerBuilderSetSizeLevel (LLVMPassManagerBuilderRef PMB, unsigned SizeLevel) |
See llvm::PassManagerBuilder::SizeLevel. More... | |
void | LLVMPassManagerBuilderSetDisableUnitAtATime (LLVMPassManagerBuilderRef PMB, LLVMBool Value) |
See llvm::PassManagerBuilder::DisableUnitAtATime. More... | |
void | LLVMPassManagerBuilderSetDisableUnrollLoops (LLVMPassManagerBuilderRef PMB, LLVMBool Value) |
See llvm::PassManagerBuilder::DisableUnrollLoops. More... | |
void | LLVMPassManagerBuilderSetDisableSimplifyLibCalls (LLVMPassManagerBuilderRef PMB, LLVMBool Value) |
See llvm::PassManagerBuilder::DisableSimplifyLibCalls. More... | |
void | LLVMPassManagerBuilderUseInlinerWithThreshold (LLVMPassManagerBuilderRef PMB, unsigned Threshold) |
See llvm::PassManagerBuilder::Inliner. More... | |
void | LLVMPassManagerBuilderPopulateFunctionPassManager (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM) |
See llvm::PassManagerBuilder::populateFunctionPassManager. More... | |
void | LLVMPassManagerBuilderPopulateModulePassManager (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM) |
See llvm::PassManagerBuilder::populateModulePassManager. More... | |
Variables | |
static cl::opt< bool > | llvm::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 > | llvm::RunLoopRerolling ("reroll-loops", cl::Hidden, cl::desc("Run the loop rerolling pass")) |
static cl::opt<::CFLAAType > | llvm::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 > | llvm::EnablePrepareForThinLTO ("prepare-for-thinlto", cl::init(false), cl::Hidden, cl::desc("Enable preparation for ThinLTO.")) |
static cl::opt< bool > | llvm::EnablePerformThinLTO ("perform-thinlto", cl::init(false), cl::Hidden, cl::desc("Enable performing ThinLTO.")) |
static cl::opt< bool > | llvm::UseLoopVersioningLICM ("enable-loop-versioning-licm", cl::init(false), cl::Hidden, cl::desc("Enable the experimental Loop Versioning LICM pass")) |
static cl::opt< bool > | llvm::DisableLibCallsShrinkWrap ("disable-libcalls-shrinkwrap", cl::init(false), cl::Hidden, cl::desc("Disable shrink-wrap library calls")) |
static ManagedStatic< SmallVector< std::tuple< PassManagerBuilder::ExtensionPointTy, PassManagerBuilder::ExtensionFn, PassManagerBuilder::GlobalExtensionID >, 8 > > | GlobalExtensions |
Set of global extensions, automatically added as part of the standard set. More... | |
static PassManagerBuilder::GlobalExtensionID | GlobalExtensionsCounter |
|
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 226 of file PassManagerBuilder.cpp.
References GlobalExtensions.
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
|
static |
Set of global extensions, automatically added as part of the standard set.
Definition at line 220 of file PassManagerBuilder.cpp.
Referenced by llvm::PassManagerBuilder::addGlobalExtension(), GlobalExtensionsNotEmpty(), and llvm::PassManagerBuilder::removeGlobalExtension().
|
static |
Definition at line 221 of file PassManagerBuilder.cpp.
Referenced by llvm::PassManagerBuilder::addGlobalExtension().