xref: /llvm-project/clang/test/CodeGen/fentry.c (revision 886b4505f2d71ec34aea8b3342914f7daee45db4)
10c86ccf4SNirav Dave // RUN: %clang_cc1 -pg -mfentry -triple i386-unknown-unknown -emit-llvm -o - %s | FileCheck  %s
20c86ccf4SNirav Dave // RUN: %clang_cc1 -pg -mfentry -triple x86_64-unknown-linux-gnu -emit-llvm -o - %s | FileCheck %s
30c86ccf4SNirav Dave // RUN: %clang_cc1 -mfentry -triple i386-unknown-unknown -emit-llvm -o - %s | FileCheck -check-prefix=NOPG %s
40c86ccf4SNirav Dave // RUN: %clang_cc1 -mfentry -triple x86_64-unknown-linux-gnu -emit-llvm -o - %s | FileCheck -check-prefix=NOPG %s
50c86ccf4SNirav Dave 
foo(void)60c86ccf4SNirav Dave int foo(void) {
70c86ccf4SNirav Dave   return 0;
80c86ccf4SNirav Dave }
90c86ccf4SNirav Dave 
no_instrument(void)10*886b4505SManoj Gupta int __attribute__((no_instrument_function)) no_instrument(void) {
11*886b4505SManoj Gupta   return foo();
12*886b4505SManoj Gupta }
13*886b4505SManoj Gupta 
14*886b4505SManoj Gupta //CHECK: attributes #0 = { {{.*}}"fentry-call"="true"{{.*}} }
15*886b4505SManoj Gupta //CHECK: attributes #1 = { {{.*}} }
16*886b4505SManoj Gupta //CHECK-NOT: attributes #1 = { {{.*}}"fentry-call"="true"{{.*}} }
17*886b4505SManoj Gupta //NOPG-NOT: attributes #0 = { {{.*}}"fentry-call"{{.*}} }
18*886b4505SManoj Gupta //NOPG-NOT: attributes #1 = { {{.*}}"fentry-call"{{.*}} }
19