[rtsan] Add fork/execve interceptors (#117198)
[llvm-project.git] / llvm / test / Transforms / FunctionAttrs / read-write-scc.ll
blobbe61990fd6278b7f2029d2227238f21d6af168e3
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-attributes
2 ; RUN: opt -S -passes=function-attrs < %s | FileCheck %s
4 @i = global i32 0
6 define void @foo() {
7 ; CHECK: Function Attrs: nofree nosync nounwind memory(readwrite, argmem: none, inaccessiblemem: none)
8 ; CHECK-LABEL: define {{[^@]+}}@foo
9 ; CHECK-SAME: () #[[ATTR0:[0-9]+]] {
10 ; CHECK-NEXT:    store i32 1, ptr @i, align 4
11 ; CHECK-NEXT:    call void @bar()
12 ; CHECK-NEXT:    ret void
14   store i32 1, ptr @i
15   call void @bar()
16   ret void
19 define void @bar() {
20 ; CHECK: Function Attrs: nofree nosync nounwind memory(readwrite, argmem: none, inaccessiblemem: none)
21 ; CHECK-LABEL: define {{[^@]+}}@bar
22 ; CHECK-SAME: () #[[ATTR0]] {
23 ; CHECK-NEXT:    [[I:%.*]] = load i32, ptr @i, align 4
24 ; CHECK-NEXT:    call void @foo()
25 ; CHECK-NEXT:    ret void
27   %i = load i32, ptr @i
28   call void @foo()
29   ret void