mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-18 01:18:33 +00:00
Add pass-manager flags to use CFL AA
Add -use-cfl-aa (and -use-cfl-aa-in-codegen) to add CFL AA in the default pass managers (for easy testing). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216978 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d52e9a143f
commit
e1b1cac5ad
@ -99,6 +99,10 @@ static cl::opt<bool> MISchedPostRA("misched-postra", cl::Hidden,
|
||||
static cl::opt<bool> EarlyLiveIntervals("early-live-intervals", cl::Hidden,
|
||||
cl::desc("Run live interval analysis earlier in the pipeline"));
|
||||
|
||||
static cl::opt<bool> UseCFLAA("use-cfl-aa-in-codegen",
|
||||
cl::init(false), cl::Hidden,
|
||||
cl::desc("Enable the new, experimental CFL alias analysis in CodeGen"));
|
||||
|
||||
/// Allow standard passes to be disabled by command line options. This supports
|
||||
/// simple binary flags that either suppress the pass or do nothing.
|
||||
/// i.e. -disable-mypass=false has no effect.
|
||||
@ -376,6 +380,8 @@ void TargetPassConfig::addIRPasses() {
|
||||
// Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that
|
||||
// BasicAliasAnalysis wins if they disagree. This is intended to help
|
||||
// support "obvious" type-punning idioms.
|
||||
if (UseCFLAA)
|
||||
addPass(createCFLAliasAnalysisPass());
|
||||
addPass(createTypeBasedAliasAnalysisPass());
|
||||
addPass(createScopedNoAliasAAPass());
|
||||
addPass(createBasicAliasAnalysisPass());
|
||||
|
@ -66,6 +66,9 @@ RunSLPAfterLoopVectorization("run-slp-after-loop-vectorization",
|
||||
cl::desc("Run the SLP vectorizer (and BB vectorizer) after the Loop "
|
||||
"vectorizer instead of before"));
|
||||
|
||||
static cl::opt<bool> UseCFLAA("use-cfl-aa",
|
||||
cl::init(false), cl::Hidden,
|
||||
cl::desc("Enable the new, experimental CFL alias analysis"));
|
||||
|
||||
PassManagerBuilder::PassManagerBuilder() {
|
||||
OptLevel = 2;
|
||||
@ -120,6 +123,8 @@ PassManagerBuilder::addInitialAliasAnalysisPasses(PassManagerBase &PM) const {
|
||||
// Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that
|
||||
// BasicAliasAnalysis wins if they disagree. This is intended to help
|
||||
// support "obvious" type-punning idioms.
|
||||
if (UseCFLAA)
|
||||
PM.add(createCFLAliasAnalysisPass());
|
||||
PM.add(createTypeBasedAliasAnalysisPass());
|
||||
PM.add(createScopedNoAliasAAPass());
|
||||
PM.add(createBasicAliasAnalysisPass());
|
||||
|
Loading…
Reference in New Issue
Block a user