Skip to content

Commit 9a8d96a

Browse files
committed
[AMDGPU] AMDGPULateCodeGenPrepare: legacy-pm replace setPreservesAll() with setPreservesCFG()
1 parent 90f1d0a commit 9a8d96a

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,9 @@ class AMDGPULateCodeGenPrepareLegacy : public FunctionPass {
546546
AU.addRequired<TargetPassConfig>();
547547
AU.addRequired<AssumptionCacheTracker>();
548548
AU.addRequired<UniformityInfoWrapperPass>();
549-
AU.setPreservesAll();
549+
// makes changes that can invalidate Uniformity Analysis,
550+
// so don't preserveAll here (see new PM version above)
551+
AU.setPreservesCFG();
550552
}
551553

552554
bool runOnFunction(Function &F) override;

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@
255255
; GCN-O1-NEXT: Uniformity Analysis
256256
; GCN-O1-NEXT: AMDGPU IR late optimizations
257257
; GCN-O1-NEXT: Post-Dominator Tree Construction
258+
; GCN-O1-NEXT: Uniformity Analysis
258259
; GCN-O1-NEXT: Unify divergent function exit nodes
259260
; GCN-O1-NEXT: Dominator Tree Construction
260261
; GCN-O1-NEXT: Cycle Info Analysis
@@ -557,6 +558,7 @@
557558
; GCN-O1-OPTS-NEXT: Uniformity Analysis
558559
; GCN-O1-OPTS-NEXT: AMDGPU IR late optimizations
559560
; GCN-O1-OPTS-NEXT: Post-Dominator Tree Construction
561+
; GCN-O1-OPTS-NEXT: Uniformity Analysis
560562
; GCN-O1-OPTS-NEXT: Unify divergent function exit nodes
561563
; GCN-O1-OPTS-NEXT: Dominator Tree Construction
562564
; GCN-O1-OPTS-NEXT: Cycle Info Analysis
@@ -871,6 +873,7 @@
871873
; GCN-O2-NEXT: Uniformity Analysis
872874
; GCN-O2-NEXT: AMDGPU IR late optimizations
873875
; GCN-O2-NEXT: Post-Dominator Tree Construction
876+
; GCN-O2-NEXT: Uniformity Analysis
874877
; GCN-O2-NEXT: Unify divergent function exit nodes
875878
; GCN-O2-NEXT: Dominator Tree Construction
876879
; GCN-O2-NEXT: Cycle Info Analysis
@@ -1200,6 +1203,7 @@
12001203
; GCN-O3-NEXT: Uniformity Analysis
12011204
; GCN-O3-NEXT: AMDGPU IR late optimizations
12021205
; GCN-O3-NEXT: Post-Dominator Tree Construction
1206+
; GCN-O3-NEXT: Uniformity Analysis
12031207
; GCN-O3-NEXT: Unify divergent function exit nodes
12041208
; GCN-O3-NEXT: Dominator Tree Construction
12051209
; GCN-O3-NEXT: Cycle Info Analysis

0 commit comments

Comments
 (0)