rust/src/test/codegen/pgo-instrumentation.rs
Michael Woerister d56c02d7e9 Allow combining -Cprofile-generate and -Cpanic=unwind when targeting
MSVC.

The LLVM limitation that previously prevented this has been fixed in LLVM
9 which is older than the oldest LLVM version we currently support.

See https://github.com/rust-lang/rust/issues/61002.
2021-07-20 11:41:51 +02:00

22 lines
772 B
Rust

// 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();
}