llvm.org GIT mirror llvm / edd72b2
[GVNHoist] Re-enable GVNHoist by default Rebase rL341954 since https://bugs.llvm.org/show_bug.cgi?id=38912 has been fixed by rL342055. Precommit testing performed: * Overnight runs of csmith comparing the output between programs compiled with gvn-hoist enabled/disabled. * Bootstrap builds of clang with UbSan/ASan configurations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342387 91177308-0d34-0410-b5e6-96231b3b80d8 Alexandros Lamprineas 1 year, 1 month ago
7 changed file(s) with 30 addition(s) and 26 deletion(s). Raw diff Collapse all Expand all
174174 cl::desc("Enable the EarlyCSE w/ MemorySSA pass for the new PM (default = on)"));
175175
176176 static cl::opt EnableGVNHoist(
177 "enable-npm-gvn-hoist", cl::init(false), cl::Hidden,
178 cl::desc("Enable the GVN hoisting pass for the new PM (default = off)"));
177 "enable-npm-gvn-hoist", cl::init(true), cl::Hidden,
178 cl::desc("Enable the GVN hoisting pass for the new PM (default = on)"));
179179
180180 static cl::opt EnableGVNSink(
181181 "enable-npm-gvn-sink", cl::init(false), cl::Hidden,
138138 cl::desc("Enable the EarlyCSE w/ MemorySSA pass (default = on)"));
139139
140140 static cl::opt EnableGVNHoist(
141 "enable-gvn-hoist", cl::init(false), cl::Hidden,
142 cl::desc("Enable the GVN hoisting pass (default = off)"));
141 "enable-gvn-hoist", cl::init(true), cl::Hidden,
142 cl::desc("Enable the GVN hoisting pass (default = on)"));
143143
144144 static cl::opt
145145 DisableLibCallsShrinkWrap("disable-libcalls-shrinkwrap", cl::init(false),
120120 ; CHECK-O-NEXT: Running pass: SROA
121121 ; CHECK-O-NEXT: Running pass: EarlyCSEPass
122122 ; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis
123 ; CHECK-O-NEXT: Running pass: GVNHoistPass on foo
124 ; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
125 ; CHECK-O-NEXT: Running analysis: MemoryDependenceAnalysis on foo
126 ; CHECK-O-NEXT: Running analysis: PhiValuesAnalysis on foo
123127 ; CHECK-O-NEXT: Running pass: SpeculativeExecutionPass
124128 ; CHECK-O-NEXT: Running pass: JumpThreadingPass
125129 ; CHECK-O-NEXT: Running analysis: LazyValueAnalysis
168172 ; CHECK-O-NEXT: Finished Loop pass manager run.
169173 ; CHECK-Os-NEXT: Running pass: MergedLoadStoreMotionPass
170174 ; CHECK-Os-NEXT: Running pass: GVN
171 ; CHECK-Os-NEXT: Running analysis: MemoryDependenceAnalysis
172 ; CHECK-Os-NEXT: Running analysis: PhiValuesAnalysis
173175 ; CHECK-Oz-NEXT: Running pass: MergedLoadStoreMotionPass
174176 ; CHECK-Oz-NEXT: Running pass: GVN
175 ; CHECK-Oz-NEXT: Running analysis: MemoryDependenceAnalysis
176 ; CHECK-Oz-NEXT: Running analysis: PhiValuesAnalysis
177177 ; CHECK-O2-NEXT: Running pass: MergedLoadStoreMotionPass
178178 ; CHECK-O2-NEXT: Running pass: GVN
179 ; CHECK-O2-NEXT: Running analysis: MemoryDependenceAnalysis
180 ; CHECK-O2-NEXT: Running analysis: PhiValuesAnalysis
181179 ; CHECK-O3-NEXT: Running pass: MergedLoadStoreMotionPass
182180 ; CHECK-O3-NEXT: Running pass: GVN
183 ; CHECK-O3-NEXT: Running analysis: MemoryDependenceAnalysis
184 ; CHECK-O3-NEXT: Running analysis: PhiValuesAnalysis
185181 ; CHECK-O-NEXT: Running pass: MemCpyOptPass
186 ; CHECK-O1-NEXT: Running analysis: MemoryDependenceAnalysis
187 ; CHECK-O1-NEXT: Running analysis: PhiValuesAnalysis
188182 ; CHECK-O-NEXT: Running pass: SCCPPass
189183 ; CHECK-O-NEXT: Running pass: BDCEPass
190184 ; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis
200194 ; CHECK-O-NEXT: Finished llvm::Function pass manager run.
201195 ; CHECK-EP-SCALAR-LATE-NEXT: Running pass: NoOpFunctionPass
202196 ; CHECK-O-NEXT: Running pass: ADCEPass
203 ; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis
204197 ; CHECK-O-NEXT: Running pass: SimplifyCFGPass
205198 ; CHECK-O-NEXT: Running pass: InstCombinePass
206199 ; CHECK-EP-PEEPHOLE-NEXT: Running pass: NoOpFunctionPass
105105 ; CHECK-O-NEXT: Running pass: SROA
106106 ; CHECK-O-NEXT: Running pass: EarlyCSEPass
107107 ; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis
108 ; CHECK-O-NEXT: Running pass: GVNHoistPass on foo
109 ; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
110 ; CHECK-O-NEXT: Running analysis: MemoryDependenceAnalysis on foo
111 ; CHECK-O-NEXT: Running analysis: PhiValuesAnalysis on foo
108112 ; CHECK-O-NEXT: Running pass: SpeculativeExecutionPass
109113 ; CHECK-O-NEXT: Running pass: JumpThreadingPass
110114 ; CHECK-O-NEXT: Running analysis: LazyValueAnalysis
150154 ; CHECK-O-NEXT: Finished Loop pass manager run.
151155 ; CHECK-Os-NEXT: Running pass: MergedLoadStoreMotionPass
152156 ; CHECK-Os-NEXT: Running pass: GVN
153 ; CHECK-Os-NEXT: Running analysis: MemoryDependenceAnalysis
154 ; CHECK-Os-NEXT: Running analysis: PhiValuesAnalysis
155157 ; CHECK-Oz-NEXT: Running pass: MergedLoadStoreMotionPass
156158 ; CHECK-Oz-NEXT: Running pass: GVN
157 ; CHECK-Oz-NEXT: Running analysis: MemoryDependenceAnalysis
158 ; CHECK-Oz-NEXT: Running analysis: PhiValuesAnalysis
159159 ; CHECK-O2-NEXT: Running pass: MergedLoadStoreMotionPass
160160 ; CHECK-O2-NEXT: Running pass: GVN
161 ; CHECK-O2-NEXT: Running analysis: MemoryDependenceAnalysis
162 ; CHECK-O2-NEXT: Running analysis: PhiValuesAnalysis
163161 ; CHECK-O3-NEXT: Running pass: MergedLoadStoreMotionPass
164162 ; CHECK-O3-NEXT: Running pass: GVN
165 ; CHECK-O3-NEXT: Running analysis: MemoryDependenceAnalysis
166 ; CHECK-O3-NEXT: Running analysis: PhiValuesAnalysis
167163 ; CHECK-O-NEXT: Running pass: MemCpyOptPass
168 ; CHECK-O1-NEXT: Running analysis: MemoryDependenceAnalysis
169 ; CHECK-O1-NEXT: Running analysis: PhiValuesAnalysis
170164 ; CHECK-O-NEXT: Running pass: SCCPPass
171165 ; CHECK-O-NEXT: Running pass: BDCEPass
172166 ; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis
180174 ; CHECK-O-NEXT: Running pass: LCSSAPass
181175 ; CHECK-O-NEXT: Finished llvm::Function pass manager run
182176 ; CHECK-O-NEXT: Running pass: ADCEPass
183 ; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis
184177 ; CHECK-O-NEXT: Running pass: SimplifyCFGPass
185178 ; CHECK-O-NEXT: Running pass: InstCombinePass
186179 ; CHECK-O-NEXT: Finished llvm::Function pass manager run.
5858 ; CHECK-NEXT: Function Alias Analysis Results
5959 ; CHECK-NEXT: Memory SSA
6060 ; CHECK-NEXT: Early CSE w/ MemorySSA
61 ; CHECK-NEXT: Post-Dominator Tree Construction
62 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
63 ; CHECK-NEXT: Function Alias Analysis Results
64 ; CHECK-NEXT: Phi Values Analysis
65 ; CHECK-NEXT: Memory Dependence Analysis
66 ; CHECK-NEXT: Early GVN Hoisting of Expressions
6167 ; CHECK-NEXT: Speculatively execute instructions if target has divergent branches
6268 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
6369 ; CHECK-NEXT: Function Alias Analysis Results
6161 ; CHECK-NEXT: Function Alias Analysis Results
6262 ; CHECK-NEXT: Memory SSA
6363 ; CHECK-NEXT: Early CSE w/ MemorySSA
64 ; CHECK-NEXT: Post-Dominator Tree Construction
65 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
66 ; CHECK-NEXT: Function Alias Analysis Results
67 ; CHECK-NEXT: Phi Values Analysis
68 ; CHECK-NEXT: Memory Dependence Analysis
69 ; CHECK-NEXT: Early GVN Hoisting of Expressions
6470 ; CHECK-NEXT: Speculatively execute instructions if target has divergent branches
6571 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
6672 ; CHECK-NEXT: Function Alias Analysis Results
5858 ; CHECK-NEXT: Function Alias Analysis Results
5959 ; CHECK-NEXT: Memory SSA
6060 ; CHECK-NEXT: Early CSE w/ MemorySSA
61 ; CHECK-NEXT: Post-Dominator Tree Construction
62 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
63 ; CHECK-NEXT: Function Alias Analysis Results
64 ; CHECK-NEXT: Phi Values Analysis
65 ; CHECK-NEXT: Memory Dependence Analysis
66 ; CHECK-NEXT: Early GVN Hoisting of Expressions
6167 ; CHECK-NEXT: Speculatively execute instructions if target has divergent branches
6268 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
6369 ; CHECK-NEXT: Function Alias Analysis Results