diff options
| author | bors <bors@rust-lang.org> | 2023-02-10 00:02:43 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-02-10 00:02:43 +0000 |
| commit | a12d31d5a681d70f277b4fbf6cafe22bae876ea7 (patch) | |
| tree | e91ce326e25a67155c2ebeb582a25656ebde3810 /tests/codegen | |
| parent | 8996ea93b6e554148c4286e62b613f12a3ee505c (diff) | |
| parent | 54b26f49e6d30aefcbf206ee5cfcf6122503553c (diff) | |
| download | rust-a12d31d5a681d70f277b4fbf6cafe22bae876ea7.tar.gz rust-a12d31d5a681d70f277b4fbf6cafe22bae876ea7.zip | |
Auto merge of #102963 - ilammy:xray-basic, r=estebank
Add `-Z instrument-xray` flag Implement MCP https://github.com/rust-lang/compiler-team/issues/561, adding `-Z instrument-xray` flag which enables XRay instrumentation in LLVM.
Diffstat (limited to 'tests/codegen')
| -rw-r--r-- | tests/codegen/instrument-xray/basic.rs | 9 | ||||
| -rw-r--r-- | tests/codegen/instrument-xray/options-combine.rs | 12 | ||||
| -rw-r--r-- | tests/codegen/instrument-xray/options-override.rs | 11 |
3 files changed, 32 insertions, 0 deletions
diff --git a/tests/codegen/instrument-xray/basic.rs b/tests/codegen/instrument-xray/basic.rs new file mode 100644 index 00000000000..d3e49d53174 --- /dev/null +++ b/tests/codegen/instrument-xray/basic.rs @@ -0,0 +1,9 @@ +// Checks that `-Z instrument-xray` produces expected instrumentation. +// +// needs-xray +// compile-flags: -Z instrument-xray=always + +#![crate_type = "lib"] + +// CHECK: attributes #{{.*}} "function-instrument"="xray-always" +pub fn function() {} diff --git a/tests/codegen/instrument-xray/options-combine.rs b/tests/codegen/instrument-xray/options-combine.rs new file mode 100644 index 00000000000..f7e500b65f6 --- /dev/null +++ b/tests/codegen/instrument-xray/options-combine.rs @@ -0,0 +1,12 @@ +// Checks that `-Z instrument-xray` options can be specified multiple times. +// +// needs-xray +// compile-flags: -Z instrument-xray=skip-exit +// compile-flags: -Z instrument-xray=instruction-threshold=123 +// compile-flags: -Z instrument-xray=instruction-threshold=456 + +#![crate_type = "lib"] + +// CHECK: attributes #{{.*}} "xray-instruction-threshold"="456" "xray-skip-exit" +// CHECK-NOT: attributes #{{.*}} "xray-instruction-threshold"="123" +pub fn function() {} diff --git a/tests/codegen/instrument-xray/options-override.rs b/tests/codegen/instrument-xray/options-override.rs new file mode 100644 index 00000000000..00f81837902 --- /dev/null +++ b/tests/codegen/instrument-xray/options-override.rs @@ -0,0 +1,11 @@ +// Checks that the last `-Z instrument-xray` option wins. +// +// needs-xray +// compile-flags: -Z instrument-xray=always +// compile-flags: -Z instrument-xray=never + +#![crate_type = "lib"] + +// CHECK: attributes #{{.*}} "function-instrument"="xray-never" +// CHECK-NOT: attributes #{{.*}} "function-instrument"="xray-always" +pub fn function() {} |
