[llvm] [LLVM][rtsan] rtsan transform to preserve CFAnalyes (PR #102651)

Chris Apple via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 9 10:49:25 PDT 2024


https://github.com/cjappl created https://github.com/llvm/llvm-project/pull/102651

Follow on to #101232, as suggested in the comments, narrow the scope of the preserved analyses.

>From 46b0b775317052fa350fe2107ae2e8d9f6359718 Mon Sep 17 00:00:00 2001
From: Chris Apple <cja-private at pm.me>
Date: Fri, 9 Aug 2024 10:47:30 -0700
Subject: [PATCH] [LLVM][rtsan] rtsan transform to preserve CFAnalyes

---
 llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
index 5663f446613b5..7854cf4f2c625 100644
--- a/llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
+++ b/llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
@@ -53,7 +53,10 @@ PreservedAnalyses RealtimeSanitizerPass::run(Function &F,
   if (F.hasFnAttribute(Attribute::SanitizeRealtime)) {
     insertCallAtFunctionEntryPoint(F, "__rtsan_realtime_enter");
     insertCallAtAllFunctionExitPoints(F, "__rtsan_realtime_exit");
-    return PreservedAnalyses::none();
+
+    PreservedAnalyses PA;
+    PA.preserveSet<CFGAnalyses>();
+    return PA;
   }
 
   return PreservedAnalyses::all();



More information about the llvm-commits mailing list