[llvm] Rtsan/blocking 2 llvm pass (PR #109543)
Chris Apple via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 22 06:35:46 PDT 2024
================
@@ -0,0 +1,19 @@
+; RUN: opt < %s -passes=rtsan -S | FileCheck %s
+
+define void @_Z17blocking_functionv() #0 {
+ ret void
+}
+
+define noundef i32 @main() #2 {
+ call void @_Z17blocking_functionv() #4
+ ret i32 0
+}
+
+attributes #0 = { mustprogress noinline sanitize_realtime_unsafe optnone ssp uwtable(sync) }
----------------
cjappl wrote:
And just to clarify, there is no case where someone could mark something as realtime unsafe, and realtime sanitize? (this would correspond to both [[clang::nonblocking]] and [[clang::blocking]]).
This is explicitly disallowed by the attributes right? I'm basically wondering if we need a test case here to have both attributes and ensure they are inserted in the order:
realtime_enter()
notify_blocking()
realtime_exit()
not:
notify_blocking()
realtime_enter()
realtime_exit()
Just making sure these attributes are mutually exclusive -- if they are ignore this comment completely :)
https://github.com/llvm/llvm-project/pull/109543
More information about the llvm-commits
mailing list