diff options
Diffstat (limited to 'tests/codegen/pgo-instrumentation.rs')
-rw-r--r-- | tests/codegen/pgo-instrumentation.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/codegen/pgo-instrumentation.rs b/tests/codegen/pgo-instrumentation.rs new file mode 100644 index 000000000..05c2d2fc0 --- /dev/null +++ b/tests/codegen/pgo-instrumentation.rs @@ -0,0 +1,22 @@ +// Test that `-Cprofile-generate` creates expected instrumentation artifacts in LLVM IR. + +// needs-profiler-support +// compile-flags: -Cprofile-generate -Ccodegen-units=1 + +// CHECK: @__llvm_profile_raw_version = +// CHECK-DAG: @__profc_{{.*}}pgo_instrumentation{{.*}}some_function{{.*}} = {{.*}}global +// CHECK-DAG: @__profd_{{.*}}pgo_instrumentation{{.*}}some_function{{.*}} = {{.*}}global +// CHECK-DAG: @__profc_{{.*}}pgo_instrumentation{{.*}}some_other_function{{.*}} = {{.*}}global +// CHECK-DAG: @__profd_{{.*}}pgo_instrumentation{{.*}}some_other_function{{.*}} = {{.*}}global +// CHECK: @__llvm_profile_filename = {{.*}}"default_%m.profraw\00"{{.*}} + +#![crate_type="lib"] + +#[inline(never)] +fn some_function() { + +} + +pub fn some_other_function() { + some_function(); +} |