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 3 4; CHECK-NOT: Function 5declare i32 @foo1() 6declare i32 @foo2() 7declare i32 @foo3() 8 9define 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 15; 16 %1 = call i32 @foo1() 17 %2 = call i32 @foo2() 18 %3 = call i32 @foo3() 19 ret i32 1 20} 21 22define i32 @baz() { 23; CHECK-LABEL: define {{[^@]+}}@baz() { 24; CHECK-NEXT: [[TMP1:%.*]] = call i32 @bar() 25; CHECK-NEXT: ret i32 0 26; 27 %1 = call i32 @bar() 28 ret i32 0 29} 30 31; We should never derive anything here 32; CHECK-NOT: attributes 33