diff options
Diffstat (limited to 'clang/test/CodeGen/always_inline.c')
-rw-r--r-- | clang/test/CodeGen/always_inline.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/clang/test/CodeGen/always_inline.c b/clang/test/CodeGen/always_inline.c index c91fd43f276..00b4234dc71 100644 --- a/clang/test/CodeGen/always_inline.c +++ b/clang/test/CodeGen/always_inline.c @@ -1,8 +1,5 @@ -// RUN: %clang -emit-llvm -S -o %t %s -// RUN: not grep '@f0' %t -// RUN: not grep 'call ' %t -// RUN: %clang -mllvm -disable-llvm-optzns -emit-llvm -S -o %t %s -// RUN: grep '@f0' %t | count 2 +// RUN: %clang -target x86_64-pc-linux-gnu -emit-llvm -S -o - %s | FileCheck %s +// RUN: %clang -target x86_64-pc-linux-gnu -mllvm -disable-llvm-optzns -emit-llvm -S -o - %s | FileCheck %s --check-prefix=CHECK-NO-OPTZNS //static int f0() { static int __attribute__((always_inline)) f0() { @@ -18,3 +15,14 @@ inline int f2() __attribute__((always_inline)); int f2() { return 7; } int f3(void) { return f2(); } +// CHECK-LABEL: define i32 @f1() +// CHECK: ret i32 1 +// CHECK-LABEL: define i32 @f2() +// CHECK: ret i32 7 +// CHECK-LABEL: define i32 @f3() +// CHECK: ret i32 7 + +// CHECK-NO-OPTZNS: define i32 @f3() +// CHECK-NO-OPTZNS-NOT: ret i32 +// CHECK-NO-OPTZNS: call i32 @f2.alwaysinline() +// CHECK-NO-OPTZNS-NEXT: ret i32 |