xref: /llvm-project/clang/test/CodeGen/rtsan_entry_exit_insertion.c (revision f77e8f765e425a575516c16e7034cb448d270fcc)
1 // RUN: %clang_cc1 -triple aarch64-unknown-linux-gnu -fsanitize=realtime -emit-llvm -o - %s | FileCheck %s
2 
3 int foo(int *a) [[clang::nonblocking]] { return *a; }
4 
5 // The first instruction after the function is entred should be a call to
6 // enable the realtime sanitizer stack.
7 // CHECK-LABEL: define{{.*}}@foo
8 // CHECK-NEXT: entry:
9 // CHECK-NEXT: call{{.*}}__rtsan_realtime_enter
10 
11 // __rtsan_realtime_exit should be inserted at all function returns.
12 // CHECK-LABEL: call{{.*}}__rtsan_realtime_exit
13 // CHECK-NEXT: ret
14