[llvm] AMDGPU: Remove DummyCGSCC use after buffer lowering passes (PR #169519)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 25 08:40:35 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
The fixme the comment refers to was removed.
---
Patch is 24.19 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/169519.diff
2 Files Affected:
- (modified) llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp (-3)
- (modified) llvm/test/CodeGen/AMDGPU/llc-pipeline.ll (+205-210)
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
index 05e52d043c3b6..23ca4dcc009c8 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -1430,9 +1430,6 @@ void AMDGPUPassConfig::addCodeGenPrepare() {
// many cases.
addPass(createAMDGPULowerBufferFatPointersPass());
addPass(createAMDGPULowerIntrinsicsLegacyPass());
- // In accordance with the above FIXME, manually force all the
- // function-level passes into a CGSCCPassManager.
- addPass(new DummyCGSCCPass());
}
// LowerSwitch pass may introduce unreachable blocks that can
diff --git a/llvm/test/CodeGen/AMDGPU/llc-pipeline.ll b/llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
index fe75b2b5bfcf5..1f7888a633d62 100644
--- a/llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
+++ b/llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
@@ -56,44 +56,43 @@
; GCN-O0-NEXT: AMDGPU Lower Kernel Arguments
; GCN-O0-NEXT: Lower buffer fat pointer operations to buffer resources
; GCN-O0-NEXT: AMDGPU lower intrinsics
+; GCN-O0-NEXT: FunctionPass Manager
+; GCN-O0-NEXT: Lazy Value Information Analysis
+; GCN-O0-NEXT: Lower SwitchInst's to branches
+; GCN-O0-NEXT: Lower invoke and unwind, for unwindless code generators
+; GCN-O0-NEXT: Remove unreachable blocks from the CFG
+; GCN-O0-NEXT: Post-Dominator Tree Construction
+; GCN-O0-NEXT: Dominator Tree Construction
+; GCN-O0-NEXT: Cycle Info Analysis
+; GCN-O0-NEXT: Uniformity Analysis
+; GCN-O0-NEXT: Unify divergent function exit nodes
+; GCN-O0-NEXT: Dominator Tree Construction
+; GCN-O0-NEXT: Cycle Info Analysis
+; GCN-O0-NEXT: Convert irreducible control-flow into natural loops
+; GCN-O0-NEXT: Natural Loop Information
+; GCN-O0-NEXT: Fixup each natural loop to have a single exit block
+; GCN-O0-NEXT: Post-Dominator Tree Construction
+; GCN-O0-NEXT: Dominance Frontier Construction
+; GCN-O0-NEXT: Detect single entry single exit regions
+; GCN-O0-NEXT: Region Pass Manager
+; GCN-O0-NEXT: Structurize control flow
+; GCN-O0-NEXT: Cycle Info Analysis
+; GCN-O0-NEXT: Uniformity Analysis
+; GCN-O0-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O0-NEXT: Function Alias Analysis Results
+; GCN-O0-NEXT: Memory SSA
+; GCN-O0-NEXT: AMDGPU Annotate Uniform Values
+; GCN-O0-NEXT: Natural Loop Information
+; GCN-O0-NEXT: SI annotate control flow
+; GCN-O0-NEXT: Cycle Info Analysis
+; GCN-O0-NEXT: Uniformity Analysis
+; GCN-O0-NEXT: AMDGPU Rewrite Undef for PHI
+; GCN-O0-NEXT: LCSSA Verifier
+; GCN-O0-NEXT: Loop-Closed SSA Form Pass
; GCN-O0-NEXT: CallGraph Construction
; GCN-O0-NEXT: Call Graph SCC Pass Manager
; GCN-O0-NEXT: DummyCGSCCPass
; GCN-O0-NEXT: FunctionPass Manager
-; GCN-O0-NEXT: Lazy Value Information Analysis
-; GCN-O0-NEXT: Lower SwitchInst's to branches
-; GCN-O0-NEXT: Lower invoke and unwind, for unwindless code generators
-; GCN-O0-NEXT: Remove unreachable blocks from the CFG
-; GCN-O0-NEXT: Post-Dominator Tree Construction
-; GCN-O0-NEXT: Dominator Tree Construction
-; GCN-O0-NEXT: Cycle Info Analysis
-; GCN-O0-NEXT: Uniformity Analysis
-; GCN-O0-NEXT: Unify divergent function exit nodes
-; GCN-O0-NEXT: Dominator Tree Construction
-; GCN-O0-NEXT: Cycle Info Analysis
-; GCN-O0-NEXT: Convert irreducible control-flow into natural loops
-; GCN-O0-NEXT: Natural Loop Information
-; GCN-O0-NEXT: Fixup each natural loop to have a single exit block
-; GCN-O0-NEXT: Post-Dominator Tree Construction
-; GCN-O0-NEXT: Dominance Frontier Construction
-; GCN-O0-NEXT: Detect single entry single exit regions
-; GCN-O0-NEXT: Region Pass Manager
-; GCN-O0-NEXT: Structurize control flow
-; GCN-O0-NEXT: Cycle Info Analysis
-; GCN-O0-NEXT: Uniformity Analysis
-; GCN-O0-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O0-NEXT: Function Alias Analysis Results
-; GCN-O0-NEXT: Memory SSA
-; GCN-O0-NEXT: AMDGPU Annotate Uniform Values
-; GCN-O0-NEXT: Natural Loop Information
-; GCN-O0-NEXT: SI annotate control flow
-; GCN-O0-NEXT: Cycle Info Analysis
-; GCN-O0-NEXT: Uniformity Analysis
-; GCN-O0-NEXT: AMDGPU Rewrite Undef for PHI
-; GCN-O0-NEXT: LCSSA Verifier
-; GCN-O0-NEXT: Loop-Closed SSA Form Pass
-; GCN-O0-NEXT: DummyCGSCCPass
-; GCN-O0-NEXT: FunctionPass Manager
; GCN-O0-NEXT: Prepare callbr
; GCN-O0-NEXT: Safe Stack instrumentation pass
; GCN-O0-NEXT: Insert stack protectors
@@ -249,54 +248,53 @@
; GCN-O1-NEXT: CodeGen Prepare
; GCN-O1-NEXT: Lower buffer fat pointer operations to buffer resources
; GCN-O1-NEXT: AMDGPU lower intrinsics
+; GCN-O1-NEXT: FunctionPass Manager
+; GCN-O1-NEXT: Lazy Value Information Analysis
+; GCN-O1-NEXT: Lower SwitchInst's to branches
+; GCN-O1-NEXT: Lower invoke and unwind, for unwindless code generators
+; GCN-O1-NEXT: Remove unreachable blocks from the CFG
+; GCN-O1-NEXT: Dominator Tree Construction
+; GCN-O1-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O1-NEXT: Function Alias Analysis Results
+; GCN-O1-NEXT: Flatten the CFG
+; GCN-O1-NEXT: Dominator Tree Construction
+; GCN-O1-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O1-NEXT: Function Alias Analysis Results
+; GCN-O1-NEXT: Natural Loop Information
+; GCN-O1-NEXT: Code sinking
+; GCN-O1-NEXT: Cycle Info Analysis
+; GCN-O1-NEXT: Uniformity Analysis
+; GCN-O1-NEXT: AMDGPU IR late optimizations
+; GCN-O1-NEXT: Post-Dominator Tree Construction
+; GCN-O1-NEXT: Uniformity Analysis
+; GCN-O1-NEXT: Unify divergent function exit nodes
+; GCN-O1-NEXT: Dominator Tree Construction
+; GCN-O1-NEXT: Cycle Info Analysis
+; GCN-O1-NEXT: Convert irreducible control-flow into natural loops
+; GCN-O1-NEXT: Natural Loop Information
+; GCN-O1-NEXT: Fixup each natural loop to have a single exit block
+; GCN-O1-NEXT: Post-Dominator Tree Construction
+; GCN-O1-NEXT: Dominance Frontier Construction
+; GCN-O1-NEXT: Detect single entry single exit regions
+; GCN-O1-NEXT: Region Pass Manager
+; GCN-O1-NEXT: Structurize control flow
+; GCN-O1-NEXT: Cycle Info Analysis
+; GCN-O1-NEXT: Uniformity Analysis
+; GCN-O1-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O1-NEXT: Function Alias Analysis Results
+; GCN-O1-NEXT: Memory SSA
+; GCN-O1-NEXT: AMDGPU Annotate Uniform Values
+; GCN-O1-NEXT: Natural Loop Information
+; GCN-O1-NEXT: SI annotate control flow
+; GCN-O1-NEXT: Cycle Info Analysis
+; GCN-O1-NEXT: Uniformity Analysis
+; GCN-O1-NEXT: AMDGPU Rewrite Undef for PHI
+; GCN-O1-NEXT: LCSSA Verifier
+; GCN-O1-NEXT: Loop-Closed SSA Form Pass
; GCN-O1-NEXT: CallGraph Construction
; GCN-O1-NEXT: Call Graph SCC Pass Manager
; GCN-O1-NEXT: DummyCGSCCPass
; GCN-O1-NEXT: FunctionPass Manager
-; GCN-O1-NEXT: Lazy Value Information Analysis
-; GCN-O1-NEXT: Lower SwitchInst's to branches
-; GCN-O1-NEXT: Lower invoke and unwind, for unwindless code generators
-; GCN-O1-NEXT: Remove unreachable blocks from the CFG
-; GCN-O1-NEXT: Dominator Tree Construction
-; GCN-O1-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O1-NEXT: Function Alias Analysis Results
-; GCN-O1-NEXT: Flatten the CFG
-; GCN-O1-NEXT: Dominator Tree Construction
-; GCN-O1-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O1-NEXT: Function Alias Analysis Results
-; GCN-O1-NEXT: Natural Loop Information
-; GCN-O1-NEXT: Code sinking
-; GCN-O1-NEXT: Cycle Info Analysis
-; GCN-O1-NEXT: Uniformity Analysis
-; GCN-O1-NEXT: AMDGPU IR late optimizations
-; GCN-O1-NEXT: Post-Dominator Tree Construction
-; GCN-O1-NEXT: Uniformity Analysis
-; GCN-O1-NEXT: Unify divergent function exit nodes
-; GCN-O1-NEXT: Dominator Tree Construction
-; GCN-O1-NEXT: Cycle Info Analysis
-; GCN-O1-NEXT: Convert irreducible control-flow into natural loops
-; GCN-O1-NEXT: Natural Loop Information
-; GCN-O1-NEXT: Fixup each natural loop to have a single exit block
-; GCN-O1-NEXT: Post-Dominator Tree Construction
-; GCN-O1-NEXT: Dominance Frontier Construction
-; GCN-O1-NEXT: Detect single entry single exit regions
-; GCN-O1-NEXT: Region Pass Manager
-; GCN-O1-NEXT: Structurize control flow
-; GCN-O1-NEXT: Cycle Info Analysis
-; GCN-O1-NEXT: Uniformity Analysis
-; GCN-O1-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O1-NEXT: Function Alias Analysis Results
-; GCN-O1-NEXT: Memory SSA
-; GCN-O1-NEXT: AMDGPU Annotate Uniform Values
-; GCN-O1-NEXT: Natural Loop Information
-; GCN-O1-NEXT: SI annotate control flow
-; GCN-O1-NEXT: Cycle Info Analysis
-; GCN-O1-NEXT: Uniformity Analysis
-; GCN-O1-NEXT: AMDGPU Rewrite Undef for PHI
-; GCN-O1-NEXT: LCSSA Verifier
-; GCN-O1-NEXT: Loop-Closed SSA Form Pass
-; GCN-O1-NEXT: DummyCGSCCPass
-; GCN-O1-NEXT: FunctionPass Manager
; GCN-O1-NEXT: Dominator Tree Construction
; GCN-O1-NEXT: Basic Alias Analysis (stateless AA impl)
; GCN-O1-NEXT: Function Alias Analysis Results
@@ -562,54 +560,53 @@
; GCN-O1-OPTS-NEXT: GPU Load and Store Vectorizer
; GCN-O1-OPTS-NEXT: Lower buffer fat pointer operations to buffer resources
; GCN-O1-OPTS-NEXT: AMDGPU lower intrinsics
+; GCN-O1-OPTS-NEXT: FunctionPass Manager
+; GCN-O1-OPTS-NEXT: Lazy Value Information Analysis
+; GCN-O1-OPTS-NEXT: Lower SwitchInst's to branches
+; GCN-O1-OPTS-NEXT: Lower invoke and unwind, for unwindless code generators
+; GCN-O1-OPTS-NEXT: Remove unreachable blocks from the CFG
+; GCN-O1-OPTS-NEXT: Dominator Tree Construction
+; GCN-O1-OPTS-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O1-OPTS-NEXT: Function Alias Analysis Results
+; GCN-O1-OPTS-NEXT: Flatten the CFG
+; GCN-O1-OPTS-NEXT: Dominator Tree Construction
+; GCN-O1-OPTS-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O1-OPTS-NEXT: Function Alias Analysis Results
+; GCN-O1-OPTS-NEXT: Natural Loop Information
+; GCN-O1-OPTS-NEXT: Code sinking
+; GCN-O1-OPTS-NEXT: Cycle Info Analysis
+; GCN-O1-OPTS-NEXT: Uniformity Analysis
+; GCN-O1-OPTS-NEXT: AMDGPU IR late optimizations
+; GCN-O1-OPTS-NEXT: Post-Dominator Tree Construction
+; GCN-O1-OPTS-NEXT: Uniformity Analysis
+; GCN-O1-OPTS-NEXT: Unify divergent function exit nodes
+; GCN-O1-OPTS-NEXT: Dominator Tree Construction
+; GCN-O1-OPTS-NEXT: Cycle Info Analysis
+; GCN-O1-OPTS-NEXT: Convert irreducible control-flow into natural loops
+; GCN-O1-OPTS-NEXT: Natural Loop Information
+; GCN-O1-OPTS-NEXT: Fixup each natural loop to have a single exit block
+; GCN-O1-OPTS-NEXT: Post-Dominator Tree Construction
+; GCN-O1-OPTS-NEXT: Dominance Frontier Construction
+; GCN-O1-OPTS-NEXT: Detect single entry single exit regions
+; GCN-O1-OPTS-NEXT: Region Pass Manager
+; GCN-O1-OPTS-NEXT: Structurize control flow
+; GCN-O1-OPTS-NEXT: Cycle Info Analysis
+; GCN-O1-OPTS-NEXT: Uniformity Analysis
+; GCN-O1-OPTS-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O1-OPTS-NEXT: Function Alias Analysis Results
+; GCN-O1-OPTS-NEXT: Memory SSA
+; GCN-O1-OPTS-NEXT: AMDGPU Annotate Uniform Values
+; GCN-O1-OPTS-NEXT: Natural Loop Information
+; GCN-O1-OPTS-NEXT: SI annotate control flow
+; GCN-O1-OPTS-NEXT: Cycle Info Analysis
+; GCN-O1-OPTS-NEXT: Uniformity Analysis
+; GCN-O1-OPTS-NEXT: AMDGPU Rewrite Undef for PHI
+; GCN-O1-OPTS-NEXT: LCSSA Verifier
+; GCN-O1-OPTS-NEXT: Loop-Closed SSA Form Pass
; GCN-O1-OPTS-NEXT: CallGraph Construction
; GCN-O1-OPTS-NEXT: Call Graph SCC Pass Manager
; GCN-O1-OPTS-NEXT: DummyCGSCCPass
; GCN-O1-OPTS-NEXT: FunctionPass Manager
-; GCN-O1-OPTS-NEXT: Lazy Value Information Analysis
-; GCN-O1-OPTS-NEXT: Lower SwitchInst's to branches
-; GCN-O1-OPTS-NEXT: Lower invoke and unwind, for unwindless code generators
-; GCN-O1-OPTS-NEXT: Remove unreachable blocks from the CFG
-; GCN-O1-OPTS-NEXT: Dominator Tree Construction
-; GCN-O1-OPTS-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O1-OPTS-NEXT: Function Alias Analysis Results
-; GCN-O1-OPTS-NEXT: Flatten the CFG
-; GCN-O1-OPTS-NEXT: Dominator Tree Construction
-; GCN-O1-OPTS-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O1-OPTS-NEXT: Function Alias Analysis Results
-; GCN-O1-OPTS-NEXT: Natural Loop Information
-; GCN-O1-OPTS-NEXT: Code sinking
-; GCN-O1-OPTS-NEXT: Cycle Info Analysis
-; GCN-O1-OPTS-NEXT: Uniformity Analysis
-; GCN-O1-OPTS-NEXT: AMDGPU IR late optimizations
-; GCN-O1-OPTS-NEXT: Post-Dominator Tree Construction
-; GCN-O1-OPTS-NEXT: Uniformity Analysis
-; GCN-O1-OPTS-NEXT: Unify divergent function exit nodes
-; GCN-O1-OPTS-NEXT: Dominator Tree Construction
-; GCN-O1-OPTS-NEXT: Cycle Info Analysis
-; GCN-O1-OPTS-NEXT: Convert irreducible control-flow into natural loops
-; GCN-O1-OPTS-NEXT: Natural Loop Information
-; GCN-O1-OPTS-NEXT: Fixup each natural loop to have a single exit block
-; GCN-O1-OPTS-NEXT: Post-Dominator Tree Construction
-; GCN-O1-OPTS-NEXT: Dominance Frontier Construction
-; GCN-O1-OPTS-NEXT: Detect single entry single exit regions
-; GCN-O1-OPTS-NEXT: Region Pass Manager
-; GCN-O1-OPTS-NEXT: Structurize control flow
-; GCN-O1-OPTS-NEXT: Cycle Info Analysis
-; GCN-O1-OPTS-NEXT: Uniformity Analysis
-; GCN-O1-OPTS-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O1-OPTS-NEXT: Function Alias Analysis Results
-; GCN-O1-OPTS-NEXT: Memory SSA
-; GCN-O1-OPTS-NEXT: AMDGPU Annotate Uniform Values
-; GCN-O1-OPTS-NEXT: Natural Loop Information
-; GCN-O1-OPTS-NEXT: SI annotate control flow
-; GCN-O1-OPTS-NEXT: Cycle Info Analysis
-; GCN-O1-OPTS-NEXT: Uniformity Analysis
-; GCN-O1-OPTS-NEXT: AMDGPU Rewrite Undef for PHI
-; GCN-O1-OPTS-NEXT: LCSSA Verifier
-; GCN-O1-OPTS-NEXT: Loop-Closed SSA Form Pass
-; GCN-O1-OPTS-NEXT: DummyCGSCCPass
-; GCN-O1-OPTS-NEXT: FunctionPass Manager
; GCN-O1-OPTS-NEXT: Dominator Tree Construction
; GCN-O1-OPTS-NEXT: Basic Alias Analysis (stateless AA impl)
; GCN-O1-OPTS-NEXT: Function Alias Analysis Results
@@ -886,52 +883,51 @@
; GCN-O2-NEXT: GPU Load and Store Vectorizer
; GCN-O2-NEXT: Lower buffer fat pointer operations to buffer resources
; GCN-O2-NEXT: AMDGPU lower intrinsics
+; GCN-O2-NEXT: FunctionPass Manager
+; GCN-O2-NEXT: Lazy Value Information Analysis
+; GCN-O2-NEXT: Lower SwitchInst's to branches
+; GCN-O2-NEXT: Lower invoke and unwind, for unwindless code generators
+; GCN-O2-NEXT: Remove unreachable blocks from the CFG
+; GCN-O2-NEXT: Dominator Tree Construction
+; GCN-O2-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O2-NEXT: Function Alias Analysis Results
+; GCN-O2-NEXT: Flatten the CFG
+; GCN-O2-NEXT: Dominator Tree Construction
+; GCN-O2-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O2-NEXT: Function Alias Analysis Results
+; GCN-O2-NEXT: Natural Loop Information
+; GCN-O2-NEXT: Code sinking
+; GCN-O2-NEXT: Cycle Info Analysis
+; GCN-O2-NEXT: Uniformity Analysis
+; GCN-O2-NEXT: AMDGPU IR late optimizations
+; GCN-O2-NEXT: Post-Dominator Tree Construction
+; GCN-O2-NEXT: Uniformity Analysis
+; GCN-O2-NEXT: Unify divergent function exit nodes
+; GCN-O2-NEXT: Dominator Tree Construction
+; GCN-O2-NEXT: Cycle Info Analysis
+; GCN-O2-NEXT: Convert irreducible control-flow into natural loops
+; GCN-O2-NEXT: Natural Loop Information
+; GCN-O2-NEXT: Fixup each natural loop to have a single exit block
+; GCN-O2-NEXT: Post-Dominator Tree Construction
+; GCN-O2-NEXT: Dominance Frontier Construction
+; GCN-O2-NEXT: Detect single entry single exit regions
+; GCN-O2-NEXT: Region Pass Manager
+; GCN-O2-NEXT: Structurize control flow
+; GCN-O2-NEXT: Cycle Info Analysis
+; GCN-O2-NEXT: Uniformity Analysis
+; GCN-O2-NEXT: Basic Alias Analysis (stateless AA impl)
+; GCN-O2-NEXT: Function Alias Analysis Results
+; GCN-O2-NEXT: Memory SSA
+; GCN-O2-NEXT: AMDGPU Annotate Uniform Values
+; GCN-O2-NEXT: Natural Loop Information
+; GCN-O2-NEXT: SI annotate control flow
+; GCN-O2-NEXT: Cycle Info Analysis
+; GCN-O2-NEXT: Uniformity Analysis
+; GCN-O2-NEXT: AMDGPU Rewrite Undef for PHI
+; GCN-O2-NEXT: LCSSA Verifier
+; GCN-O2-NEXT: Loop-Closed SSA Form Pass
; GCN-O2-NEXT: CallGraph Construction
; GCN-O2-NEXT: Call Graph SCC Pass Manager
-; GCN-O2-NEXT: DummyCGSCCPass
-; GCN-O2-NEXT: FunctionPass Manager
-; GCN-O2-NEXT: Lazy Value Information Analysis
-; GCN-O2-NEXT: Lower SwitchInst's to branches
-; GCN-O2-NEXT: Lower invoke and unwind, for unwindless code generators
-; GCN-O2-NEXT: Remove unreachable blocks from the CFG
-; GCN-O2-NEXT: Dominator Tree Construction
-; GCN-O2-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O2-NEXT: Function Alias Analysis Results
-; GCN-O2-NEXT: Flatten the CFG
-; GCN-O2-NEXT: Dominator Tree Construction
-; GCN-O2-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O2-NEXT: Function Alias Analysis Results
-; GCN-O2-NEXT: Natural Loop Information
-; GCN-O2-NEXT: Code sinking
-; GCN-O2-NEXT: Cycle Info Analysis
-; GCN-O2-NEXT: Uniformity Analysis
-; GCN-O2-NEXT: AMDGPU IR late optimizations
-; GCN-O2-NEXT: Post-Dominator Tree Construction
-; GCN-O2-NEXT: Uniformity Analysis
-; GCN-O2-NEXT: Unify divergent function exit nodes
-; GCN-O2-NEXT: Dominator Tree Construction
-; GCN-O2-NEXT: Cycle Info Analysis
-; GCN-O2-NEXT: Convert irreducible control-flow into natural loops
-; GCN-O2-NEXT: Natural Loop Information
-; GCN-O2-NEXT: Fixup each natural loop to have a single exit block
-; GCN-O2-NEXT: Post-Dominator Tree Construction
-; GCN-O2-NEXT: Dominance Frontier Construction
-; GCN-O2-NEXT: Detect single entry single exit regions
-; GCN-O2-NEXT: Region Pass Manager
-; GCN-O2-NEXT: Structurize control flow
-; GCN-O2-NEXT: Cycle Info Analysis
-; GCN-O2-NEXT: Uniformity Analysis
-; GCN-O2-NEXT: Basic Alias Analysis (stateless AA impl)
-; GCN-O2-NEXT: Function Alias Analysis Results
-; GCN-O2-NEXT: Memory SSA
-; GCN-O2-NEXT: AMDGPU Annotate Uniform Values
-; GCN-O2-NEXT: Natural Loop Information
-; GCN-O2-NEXT: SI annotate control flow
-; GCN-O2-NEXT: Cycle Info Analysis
-; GCN-O2-NEXT: Uniformity Analysis
-; GCN-O2-NEXT: AMDGPU Rewrite Undef for PHI
-; GCN-O2-NEXT: LCSSA Verifier
-; GCN-O2-NEXT: Loop-Closed SSA Form Pass
; GCN-O2-NEXT: Analysis if a function is memory bound
; GCN-O2-NEXT: DummyCGSCCPass
; GCN-O2-NEXT: FunctionPass Manager
@@ -1225,52 +1221,51 @@
; GCN-O3-NEXT: GPU Load and Store Vectorizer
; GCN-O3-NEXT: Lower buffer fat pointer operations to buffer resources
; GCN-O3-NEXT: AMDGPU lower intrinsics
+; GCN-O3-NEXT: FunctionPass Manager
+; GCN-O3-NEXT: Lazy Value Information Analysis
+; GCN-O3-NEXT: Lower SwitchInst's to branches
+; GCN-O3-NEXT: Lower invoke and unwind, for unwindless code generators
+; GCN-O3-NEXT: Remove unreachable blocks from the CFG
+; GCN-O3-NEXT: Dominator Tree Construction...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/169519
More information about the llvm-commits
mailing list