Skip to content

Commit 51ff045

Browse files
committed
Recommit "[DSE] Switch to MemorySSA-backed DSE by default."
After investigation by @asbirlea, the issue that caused the revert appears to be an issue in the original source, rather than a problem with the compiler. This patch enables MemorySSA DSE again. This reverts commit 915310b.
1 parent 6030a07 commit 51ff045

File tree

77 files changed

+134
-110
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+134
-110
lines changed

clang/test/CodeGen/thinlto-distributed-newpm.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,12 @@
130130
; CHECK-O: Running pass: JumpThreadingPass on main
131131
; CHECK-O: Running pass: CorrelatedValuePropagationPass on main
132132
; CHECK-O: Running pass: DSEPass on main
133+
; CHECK-O: Running analysis: PostDominatorTreeAnalysis on main
133134
; CHECK-O: Starting {{.*}}Function pass manager run.
134135
; CHECK-O: Running pass: LoopSimplifyPass on main
135136
; CHECK-O: Running pass: LCSSAPass on main
136137
; CHECK-O: Finished {{.*}}Function pass manager run.
137138
; CHECK-O: Running pass: ADCEPass on main
138-
; CHECK-O: Running analysis: PostDominatorTreeAnalysis on main
139139
; CHECK-O: Running pass: SimplifyCFGPass on main
140140
; CHECK-O: Running pass: InstCombinePass on main
141141
; CHECK-O: Finished {{.*}}Function pass manager run.

clang/test/CodeGenObjC/exceptions.m

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,6 @@ int f2() {
5959
// CHECK-NEXT: [[T1:%.*]] = load i32, i32* [[X]]
6060
// CHECK-NEXT: [[T2:%.*]] = add nsw i32 [[T1]], -1
6161

62-
// This store is dead.
63-
// CHECK-NEXT: store i32 [[T2]], i32* [[X]]
64-
6562
// CHECK: store i32 6, i32* [[X]]
6663
x++;
6764
// CHECK-NEXT: call void asm sideeffect "", "*m,*m"(i32* nonnull [[X]]

llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ EnablePartialStoreMerging("enable-dse-partial-store-merging",
106106
cl::desc("Enable partial store merging in DSE"));
107107

108108
static cl::opt<bool>
109-
EnableMemorySSA("enable-dse-memoryssa", cl::init(false), cl::Hidden,
109+
EnableMemorySSA("enable-dse-memoryssa", cl::init(true), cl::Hidden,
110110
cl::desc("Use the new MemorySSA-backed DSE."));
111111

112112
static cl::opt<unsigned>

llvm/test/Analysis/BasicAA/modref.ll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ define void @test3(i8* %P, i8 %X) {
8585

8686
define void @test3a(i8* %P, i8 %X) {
8787
; CHECK-LABEL: @test3a(
88+
; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 10, i8* [[P:%.*]])
8889
; CHECK-NEXT: ret void
8990
;
9091
%Y = add i8 %X, 1 ;; Dead, because the only use (the store) is dead.

llvm/test/CodeGen/AMDGPU/opt-pipeline.ll

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -522,15 +522,14 @@
522522
; GCN-O2-NEXT: Value Propagation
523523
; GCN-O2-NEXT: Basic Alias Analysis (stateless AA impl)
524524
; GCN-O2-NEXT: Function Alias Analysis Results
525-
; GCN-O2-NEXT: Phi Values Analysis
526-
; GCN-O2-NEXT: Memory Dependence Analysis
527-
; GCN-O2-NEXT: Dead Store Elimination
528-
; GCN-O2-NEXT: Function Alias Analysis Results
525+
; GCN-O2-NEXT: Post-Dominator Tree Construction
529526
; GCN-O2-NEXT: Memory SSA
527+
; GCN-O2-NEXT: Dead Store Elimination
530528
; GCN-O2-NEXT: Natural Loop Information
531529
; GCN-O2-NEXT: Canonicalize natural loops
532530
; GCN-O2-NEXT: LCSSA Verifier
533531
; GCN-O2-NEXT: Loop-Closed SSA Form Pass
532+
; GCN-O2-NEXT: Function Alias Analysis Results
534533
; GCN-O2-NEXT: Scalar Evolution Analysis
535534
; GCN-O2-NEXT: Lazy Branch Probability Analysis
536535
; GCN-O2-NEXT: Lazy Block Frequency Analysis
@@ -893,15 +892,14 @@
893892
; GCN-O3-NEXT: Value Propagation
894893
; GCN-O3-NEXT: Basic Alias Analysis (stateless AA impl)
895894
; GCN-O3-NEXT: Function Alias Analysis Results
896-
; GCN-O3-NEXT: Phi Values Analysis
897-
; GCN-O3-NEXT: Memory Dependence Analysis
898-
; GCN-O3-NEXT: Dead Store Elimination
899-
; GCN-O3-NEXT: Function Alias Analysis Results
895+
; GCN-O3-NEXT: Post-Dominator Tree Construction
900896
; GCN-O3-NEXT: Memory SSA
897+
; GCN-O3-NEXT: Dead Store Elimination
901898
; GCN-O3-NEXT: Natural Loop Information
902899
; GCN-O3-NEXT: Canonicalize natural loops
903900
; GCN-O3-NEXT: LCSSA Verifier
904901
; GCN-O3-NEXT: Loop-Closed SSA Form Pass
902+
; GCN-O3-NEXT: Function Alias Analysis Results
905903
; GCN-O3-NEXT: Scalar Evolution Analysis
906904
; GCN-O3-NEXT: Lazy Branch Probability Analysis
907905
; GCN-O3-NEXT: Lazy Block Frequency Analysis

llvm/test/Other/new-pm-defaults.ll

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,14 +215,15 @@
215215
; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
216216
; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
217217
; CHECK-O23SZ-NEXT: Running pass: DSEPass
218+
; CHECK-O23SZ-NEXT: Running analysis: PostDominatorTreeAnalysis
218219
; CHECK-O23SZ-NEXT: Starting llvm::Function pass manager run.
219220
; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
220221
; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
221222
; CHECK-O23SZ-NEXT: Finished llvm::Function pass manager run.
222223
; CHECK-O23SZ-NEXT: Running pass: LICMPass
223224
; CHECK-EP-SCALAR-LATE-NEXT: Running pass: NoOpFunctionPass
224225
; CHECK-O-NEXT: Running pass: ADCEPass
225-
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis
226+
; CHECK-O1-NEXT: Running analysis: PostDominatorTreeAnalysis
226227
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
227228
; CHECK-O-NEXT: Running pass: InstCombinePass
228229
; CHECK-EP-PEEPHOLE-NEXT: Running pass: NoOpFunctionPass

llvm/test/Other/new-pm-lto-defaults.ll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@
8686
; CHECK-O2-NEXT: Running analysis: PhiValuesAnalysis
8787
; CHECK-O2-NEXT: Running pass: MemCpyOptPass on foo
8888
; CHECK-O2-NEXT: Running pass: DSEPass on foo
89+
; CHECK-O2-NEXT: Running analysis: MemorySSAAnalysis on foo
90+
; CHECK-O2-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
8991
; CHECK-O2-NEXT: Running pass: InstCombinePass on foo
9092
; CHECK-O2-NEXT: Running pass: SimplifyCFGPass on foo
9193
; CHECK-O2-NEXT: Running pass: SCCPPass on foo

llvm/test/Other/new-pm-thinlto-defaults.ll

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,14 @@
176176
; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
177177
; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
178178
; CHECK-O23SZ-NEXT: Running pass: DSEPass
179+
; CHECK-O23SZ-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
179180
; CHECK-O23SZ-NEXT: Starting llvm::Function pass manager run
180181
; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
181182
; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
182183
; CHECK-O23SZ-NEXT: Finished llvm::Function pass manager run
183184
; CHECK-O23SZ-NEXT: Running pass: LICMPass on Loop at depth 1 containing: %loop
184185
; CHECK-O-NEXT: Running pass: ADCEPass
185-
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis
186+
; CHECK-O1-NEXT: Running analysis: PostDominatorTreeAnalysis
186187
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
187188
; CHECK-O-NEXT: Running pass: InstCombinePass
188189
; CHECK-O-NEXT: Finished llvm::Function pass manager run.

llvm/test/Other/opt-O2-pipeline.ll

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,15 +162,14 @@
162162
; CHECK-NEXT: Value Propagation
163163
; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
164164
; CHECK-NEXT: Function Alias Analysis Results
165-
; CHECK-NEXT: Phi Values Analysis
166-
; CHECK-NEXT: Memory Dependence Analysis
167-
; CHECK-NEXT: Dead Store Elimination
168-
; CHECK-NEXT: Function Alias Analysis Results
165+
; CHECK-NEXT: Post-Dominator Tree Construction
169166
; CHECK-NEXT: Memory SSA
167+
; CHECK-NEXT: Dead Store Elimination
170168
; CHECK-NEXT: Natural Loop Information
171169
; CHECK-NEXT: Canonicalize natural loops
172170
; CHECK-NEXT: LCSSA Verifier
173171
; CHECK-NEXT: Loop-Closed SSA Form Pass
172+
; CHECK-NEXT: Function Alias Analysis Results
174173
; CHECK-NEXT: Scalar Evolution Analysis
175174
; CHECK-NEXT: Lazy Branch Probability Analysis
176175
; CHECK-NEXT: Lazy Block Frequency Analysis

llvm/test/Other/opt-O3-pipeline-enable-matrix.ll

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,14 @@
167167
; CHECK-NEXT: Value Propagation
168168
; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
169169
; CHECK-NEXT: Function Alias Analysis Results
170-
; CHECK-NEXT: Phi Values Analysis
171-
; CHECK-NEXT: Memory Dependence Analysis
172-
; CHECK-NEXT: Dead Store Elimination
173-
; CHECK-NEXT: Function Alias Analysis Results
170+
; CHECK-NEXT: Post-Dominator Tree Construction
174171
; CHECK-NEXT: Memory SSA
172+
; CHECK-NEXT: Dead Store Elimination
175173
; CHECK-NEXT: Natural Loop Information
176174
; CHECK-NEXT: Canonicalize natural loops
177175
; CHECK-NEXT: LCSSA Verifier
178176
; CHECK-NEXT: Loop-Closed SSA Form Pass
177+
; CHECK-NEXT: Function Alias Analysis Results
179178
; CHECK-NEXT: Scalar Evolution Analysis
180179
; CHECK-NEXT: Lazy Branch Probability Analysis
181180
; CHECK-NEXT: Lazy Block Frequency Analysis

0 commit comments

Comments
 (0)