xref: /llvm-project/clang/test/CodeGen/xray-attributes-skip-entry-exit.cpp (revision fd739804e0591468762eb87488a497a3f7d4afb0)
1 // RUN: %clang_cc1 -fxray-instrument \
2 // RUN:     -fxray-instrumentation-bundle=function-entry -x c++ \
3 // RUN:     -std=c++11 -triple x86_64-unknown-unknown -emit-llvm -o - %s \
4 // RUN:     | FileCheck --check-prefixes CHECK,SKIPEXIT %s
5 // RUN: %clang_cc1 -fxray-instrument \
6 // RUN:     -fxray-instrumentation-bundle=function-exit -x c++ \
7 // RUN:     -std=c++11 -triple x86_64-unknown-unknown -emit-llvm -o - %s \
8 // RUN:     | FileCheck --check-prefixes CHECK,SKIPENTRY %s
9 // RUN: %clang_cc1 -fxray-instrument \
10 // RUN:     -fxray-instrumentation-bundle=function-entry,function-exit -x c++ \
11 // RUN:     -std=c++11 -triple x86_64-unknown-unknown -emit-llvm -o - %s \
12 // RUN:     | FileCheck --check-prefixes CHECK,NOSKIPENTRY,NOSKIPEXIT %s
13 
14 // CHECK: define{{.*}} void @_Z13justAFunctionv() #[[ATTR:[0-9]+]] {
justAFunction()15 void justAFunction() {
16 }
17 
18 // SKIPENTRY: attributes #[[ATTR]] = {{.*}} "xray-skip-entry" {{.*}}
19 // SKIPEXIT: attributes #[[ATTR]] = {{.*}} "xray-skip-exit" {{.*}}
20 
21 // NOSKIPENTRY-NOT: attributes #[[ATTR]] = {{.*}} "xray-skip-entry" {{.*}}
22 // NOSKIPEXIT-NOT: attributes #[[ATTR]] = {{.*}} "xray-skip-exit" {{.*}}
23