mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-05-13 17:37:00 +00:00

Turning on `enable_noundef_analysis` flag allows better codegen by removing freeze instructions. I modified clang by renaming `enable_noundef_analysis` flag to `disable-noundef-analysis` and turning it off by default. Test updates are made as a separate patch: D108453 Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D105169
14 lines
570 B
C++
14 lines
570 B
C++
// RUN: %clang_cc1 %s -fxray-instrument -std=c++11 -x c++ -emit-llvm -o - -triple x86_64-unknown-linux-gnu | FileCheck %s
|
|
|
|
// Make sure that the LLVM attribute for XRay-annotated functions do show up.
|
|
[[clang::xray_always_instrument,clang::xray_log_args(1)]] void foo(int a) {
|
|
// CHECK: define{{.*}} void @_Z3fooi(i32 noundef %a) #0
|
|
};
|
|
|
|
[[clang::xray_log_args(1)]] void bar(int a) {
|
|
// CHECK: define{{.*}} void @_Z3bari(i32 noundef %a) #1
|
|
};
|
|
|
|
// CHECK: #0 = {{.*}}"function-instrument"="xray-always"{{.*}}"xray-log-args"="1"
|
|
// CHECK-NOT: #1 = {{.*}}"xray-log-args"="1"
|