summaryrefslogtreecommitdiff
path: root/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
diff options
context:
space:
mode:
authorAkshat Oke <Akshat.Oke@amd.com>2025-07-09 14:52:58 +0530
committerGitHub <noreply@github.com>2025-07-09 14:52:58 +0530
commitedaf656d5e17799208118069e8b64ee286621f2c (patch)
tree1e4f261eb79dc79fb568623eea71a2a621a7e558 /llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
parent7ea371443b83f20edadb538c4b6ea19ee4de1094 (diff)
[CodeGen][NPM] Differentiate pipeline-required and opt-required passes (#135752)
"Required" passes relate to actually running the pass on the IR, regardless of whether they are in the pipeline. CGPassBuilder was mistakenly still adding them to the pipeline. The test `llc -stop-after=greedy -enable-new-pm` would still add `greedy` to the pipeline otherwise.
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
index 64c4e5d6a22b..92d378e01bcb 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -2147,7 +2147,8 @@ void AMDGPUCodeGenPassBuilder::addPreISel(AddIRPass &addPass) const {
// FIXME: Why isn't this queried as required from AMDGPUISelDAGToDAG, and why
// isn't this in addInstSelector?
- addPass(RequireAnalysisPass<UniformityInfoAnalysis, Function>());
+ addPass(RequireAnalysisPass<UniformityInfoAnalysis, Function>(),
+ /*Force=*/true);
}
void AMDGPUCodeGenPassBuilder::addILPOpts(AddMachinePass &addPass) const {