; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 5 ; RUN: opt < %s -passes=rtsan -S | FileCheck %s ; RealtimeSanitizer pass should create the demangled function name as a global string and, ; at the function entrypoint, pass it as an argument to the rtsan notify method ;. ; CHECK: @[[GLOB0:[0-9]+]] = private unnamed_addr constant [20 x i8] c"blocking_function()\00", align 1 ;. define void @_Z17blocking_functionv() #0 { ; CHECK-LABEL: define void @_Z17blocking_functionv( ; CHECK-SAME: ) #[[ATTR0:[0-9]+]] { ; CHECK-NEXT: call void @__rtsan_notify_blocking_call(ptr @[[GLOB0]]) ; CHECK-NEXT: ret void ; ret void } define noundef i32 @main() #2 { ; CHECK-LABEL: define noundef i32 @main() { ; CHECK-NEXT: call void @_Z17blocking_functionv() ; CHECK-NEXT: ret i32 0 ; call void @_Z17blocking_functionv() #4 ret i32 0 } attributes #0 = { mustprogress noinline sanitize_realtime_blocking optnone ssp uwtable(sync) } ;. ; CHECK: attributes #[[ATTR0]] = { mustprogress noinline optnone sanitize_realtime_blocking ssp uwtable(sync) } ;.