https://github.com/vikramRH updated https://github.com/llvm/llvm-project/pull/176690
>From 4ea3fccda745baf80ddce6abfa55539aa08c78c3 Mon Sep 17 00:00:00 2001 From: vikhegde <[email protected]> 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 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
