diff options
| author | Oleksii Lozovskyi <me@ilammy.net> | 2022-10-02 10:25:49 +0900 |
|---|---|---|
| committer | Oleksii Lozovskyi <me@ilammy.net> | 2023-02-09 12:28:00 +0900 |
| commit | 0fef658ffeb0fdc858d6c111a992b570ed73c951 (patch) | |
| tree | 93e727ff58da10368c4c17b1f781e016935b2d20 /tests/codegen | |
| parent | bac15db1d0f3ccdb9b9f61ba808cd25fbf400e88 (diff) | |
| download | rust-0fef658ffeb0fdc858d6c111a992b570ed73c951.tar.gz rust-0fef658ffeb0fdc858d6c111a992b570ed73c951.zip | |
Codegen tests for -Z instrument-xray
Let's add at least some tests to verify that this option is accepted and produces expected LLVM attributes. More tests can be added later with attribute support.
Diffstat (limited to 'tests/codegen')
| -rw-r--r-- | tests/codegen/instrument-xray/basic.rs | 8 | ||||
| -rw-r--r-- | tests/codegen/instrument-xray/options-combine.rs | 11 | ||||
| -rw-r--r-- | tests/codegen/instrument-xray/options-override.rs | 10 |
3 files changed, 29 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..9c128767747 --- /dev/null +++ b/tests/codegen/instrument-xray/basic.rs @@ -0,0 +1,8 @@ +// Checks that `-Z instrument-xray` produces expected instrumentation. +// +// 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..0c1992318f5 --- /dev/null +++ b/tests/codegen/instrument-xray/options-combine.rs @@ -0,0 +1,11 @@ +// Checks that `-Z instrument-xray` options can be specified multiple times. +// +// 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..3a7c37f9006 --- /dev/null +++ b/tests/codegen/instrument-xray/options-override.rs @@ -0,0 +1,10 @@ +// Checks that the last `-Z instrument-xray` option wins. +// +// 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() {} |
