Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / Attributor / new_attributes.ll
blob67b72e009da1c7029b2ac1cded71f0e8d1799ab0
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals
2 ; RUN: opt < %s -passes=attributor -attributor-annotate-decl-cs   -S | FileCheck %s
4 ; CHECK-NOT: Function
5 declare i32 @foo1()
6 declare i32 @foo2()
7 declare i32 @foo3()
9 define internal i32 @bar() {
10 ; CHECK-LABEL: define {{[^@]+}}@bar() {
11 ; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @foo1()
12 ; CHECK-NEXT:    [[TMP2:%.*]] = call i32 @foo2()
13 ; CHECK-NEXT:    [[TMP3:%.*]] = call i32 @foo3()
14 ; CHECK-NEXT:    ret i32 undef
16   %1 = call i32 @foo1()
17   %2 = call i32 @foo2()
18   %3 = call i32 @foo3()
19   ret i32 1
22 define i32 @baz() {
23 ; CHECK-LABEL: define {{[^@]+}}@baz() {
24 ; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @bar()
25 ; CHECK-NEXT:    ret i32 0
27   %1 = call i32 @bar()
28   ret i32 0
31 ; We should never derive anything here
32 ; CHECK-NOT: attributes