[llvm-branch-commits] [llvm] [CodeGen][NPM] Isolate CanonicalizeFreezeInLoopsPass into a different adaptor (PR #176690)
Vikram Hegde via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jan 23 03:32:02 PST 2026
https://github.com/vikramRH updated https://github.com/llvm/llvm-project/pull/176690
>From 4ea3fccda745baf80ddce6abfa55539aa08c78c3 Mon Sep 17 00:00:00 2001
From: vikhegde <vikram.hegde at amd.com>
Date: Fri, 16 Jan 2026 12:22:47 +0530
Subject: [PATCH] [CodeGen][NPM] Specify Loop pass adaptor to not use MSSA
---
llvm/include/llvm/Passes/CodeGenPassBuilder.h | 3 ++-
llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll | 4 ++--
llvm/test/CodeGen/X86/llc-pipeline-npm.ll | 4 ++--
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/llvm/include/llvm/Passes/CodeGenPassBuilder.h b/llvm/include/llvm/Passes/CodeGenPassBuilder.h
index 3b6abd993b5b6..6942fc42ca721 100644
--- a/llvm/include/llvm/Passes/CodeGenPassBuilder.h
+++ b/llvm/include/llvm/Passes/CodeGenPassBuilder.h
@@ -702,13 +702,14 @@ void CodeGenPassBuilder<Derived, TargetMachineT>::addIRPasses(
// Run loop strength reduction before anything else.
if (getOptLevel() != CodeGenOptLevel::None && !Opt.DisableLSR) {
+ // These passes do not use MSSA.
LoopPassManager LPM;
LPM.addPass(CanonicalizeFreezeInLoopsPass());
LPM.addPass(LoopStrengthReducePass());
if (Opt.EnableLoopTermFold)
LPM.addPass(LoopTermFoldPass());
addFunctionPass(createFunctionToLoopPassAdaptor(std::move(LPM),
- /*UseMemorySSA=*/true),
+ /*UseMemorySSA=*/false),
PMW);
}
diff --git a/llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll b/llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
index 735a8f952fe2a..525ab3757e6e0 100644
--- a/llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+++ b/llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
@@ -125,7 +125,7 @@
; GCN-O2-NEXT: amdgpu-codegenprepare
; GCN-O2-NEXT: loop-mssa(licm<allowspeculation>)
; GCN-O2-NEXT: verify
-; GCN-O2-NEXT: loop-mssa(canon-freeze
+; GCN-O2-NEXT: loop(canon-freeze
; GCN-O2-NEXT: loop-reduce)
; GCN-O2-NEXT: mergeicmps
; GCN-O2-NEXT: expand-memcmp
@@ -297,7 +297,7 @@
; GCN-O3-NEXT: amdgpu-codegenprepare
; GCN-O3-NEXT: loop-mssa(licm<allowspeculation>)
; GCN-O3-NEXT: verify
-; GCN-O3-NEXT: loop-mssa(canon-freeze
+; GCN-O3-NEXT: loop(canon-freeze
; GCN-O3-NEXT: loop-reduce)
; GCN-O3-NEXT: mergeicmps
; GCN-O3-NEXT: expand-memcmp
diff --git a/llvm/test/CodeGen/X86/llc-pipeline-npm.ll b/llvm/test/CodeGen/X86/llc-pipeline-npm.ll
index d1bb666b9f423..8425af01b0330 100644
--- a/llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+++ b/llvm/test/CodeGen/X86/llc-pipeline-npm.ll
@@ -78,7 +78,7 @@
; O2-NEXT: x86-lower-amx-intrinsics
; O2-NEXT: x86-lower-amx-type
; O2-NEXT: verify
-; O2-NEXT: loop-mssa(canon-freeze
+; O2-NEXT: loop(canon-freeze
; O2-NEXT: loop-reduce)
; O2-NEXT: mergeicmps
; O2-NEXT: expand-memcmp
@@ -249,7 +249,7 @@
; O3-WINDOWS-NEXT: x86-lower-amx-intrinsics
; O3-WINDOWS-NEXT: x86-lower-amx-type
; O3-WINDOWS-NEXT: verify
-; O3-WINDOWS-NEXT: loop-mssa(canon-freeze
+; O3-WINDOWS-NEXT: loop(canon-freeze
; O3-WINDOWS-NEXT: loop-reduce)
; O3-WINDOWS-NEXT: mergeicmps
; O3-WINDOWS-NEXT: expand-memcmp
More information about the llvm-branch-commits
mailing list