forked from OSchip/llvm-project
Add flag to PassManagerBuilder to disable GVN Hoist Pass.
Summary: Adding a flag to diable GVN Hoisting by default. Note: The GVN Hoist Pass causes some Halide tests to hang. Halide will disable the pass while investigating. Reviewers: llvm-commits, chandlerc, spop, dberlin Subscribers: mehdi_amini Differential Revision: https://reviews.llvm.org/D22639 llvm-svn: 276479
This commit is contained in:
parent
6118ce1221
commit
ba21ffebff
|
@ -134,6 +134,10 @@ static cl::opt<int> PreInlineThreshold(
|
|||
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 experimental GVN Hoisting pass"));
|
||||
|
||||
PassManagerBuilder::PassManagerBuilder() {
|
||||
OptLevel = 2;
|
||||
SizeLevel = 0;
|
||||
|
@ -232,7 +236,8 @@ void PassManagerBuilder::populateFunctionPassManager(
|
|||
FPM.add(createCFGSimplificationPass());
|
||||
FPM.add(createSROAPass());
|
||||
FPM.add(createEarlyCSEPass());
|
||||
FPM.add(createGVNHoistPass());
|
||||
if(EnableGVNHoist)
|
||||
FPM.add(createGVNHoistPass());
|
||||
FPM.add(createLowerExpectIntrinsicPass());
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,6 @@ attributes #0 = { optnone noinline }
|
|||
; OPT-O1-DAG: Skipping pass 'Combine redundant instructions'
|
||||
; OPT-O1-DAG: Skipping pass 'Dead Store Elimination'
|
||||
; OPT-O1-DAG: Skipping pass 'Early CSE'
|
||||
; OPT-O1-DAG: Skipping pass 'Early GVN Hoisting of Expressions'
|
||||
; OPT-O1-DAG: Skipping pass 'Jump Threading'
|
||||
; OPT-O1-DAG: Skipping pass 'MemCpy Optimization'
|
||||
; OPT-O1-DAG: Skipping pass 'Reassociate expressions'
|
||||
|
|
Loading…
Reference in New Issue