[llvm] [NVPTX] Preserve CFGAnalyses in more passes (PR #217062)

via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 18 08:51:59 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-nvptx

Author: Alex MacLean (AlexMaclean)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/217062.diff


3 Files Affected:

- (modified) llvm/lib/Target/NVPTX/NVPTXMarkKernelPtrsGlobal.cpp (+3-2) 
- (modified) llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp (+3-2) 
- (modified) llvm/lib/Target/NVPTX/NVVMIntrRange.cpp (+3-2) 


``````````diff
diff --git a/llvm/lib/Target/NVPTX/NVPTXMarkKernelPtrsGlobal.cpp b/llvm/lib/Target/NVPTX/NVPTXMarkKernelPtrsGlobal.cpp
index c218e2aa4cbf1..fa3e67263d156 100644
--- a/llvm/lib/Target/NVPTX/NVPTXMarkKernelPtrsGlobal.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXMarkKernelPtrsGlobal.cpp
@@ -119,6 +119,7 @@ FunctionPass *llvm::createNVPTXMarkKernelPtrsGlobalPass() {
 
 PreservedAnalyses
 NVPTXMarkKernelPtrsGlobalPass::run(Function &F, FunctionAnalysisManager &) {
-  return markKernelPtrsGlobal(F) ? PreservedAnalyses::none()
-                                 : PreservedAnalyses::all();
+  if (!markKernelPtrsGlobal(F))
+    return PreservedAnalyses::all();
+  return PreservedAnalyses::none().preserveSet<CFGAnalyses>();
 }
diff --git a/llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp b/llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp
index 5abbfff222d1e..26c21c43f95cd 100644
--- a/llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp
@@ -108,6 +108,7 @@ FunctionPass *llvm::createNVPTXTagInvariantLoadsPass() {
 
 PreservedAnalyses NVPTXTagInvariantLoadsPass::run(Function &F,
                                                   FunctionAnalysisManager &) {
-  return tagInvariantLoads(F) ? PreservedAnalyses::none()
-                              : PreservedAnalyses::all();
+  if (!tagInvariantLoads(F))
+    return PreservedAnalyses::all();
+  return PreservedAnalyses::none().preserveSet<CFGAnalyses>();
 }
diff --git a/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp b/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
index a00bb85a19c73..45f4ffc79ec93 100644
--- a/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
+++ b/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
@@ -175,6 +175,7 @@ bool NVVMIntrRange::runOnFunction(Function &F) { return runNVVMIntrRange(F); }
 
 PreservedAnalyses NVVMIntrRangePass::run(Function &F,
                                          FunctionAnalysisManager &AM) {
-  return runNVVMIntrRange(F) ? PreservedAnalyses::none()
-                             : PreservedAnalyses::all();
+  if (!runNVVMIntrRange(F))
+    return PreservedAnalyses::all();
+  return PreservedAnalyses::none().preserveSet<CFGAnalyses>();
 }

``````````

</details>


https://github.com/llvm/llvm-project/pull/217062


More information about the llvm-commits mailing list