diff options
| author | clubby789 <jamie@hill-daniel.co.uk> | 2024-12-09 19:34:51 +0000 |
|---|---|---|
| committer | clubby789 <jamie@hill-daniel.co.uk> | 2025-01-23 17:40:41 +0000 |
| commit | 7a9661d768f52d4bde71b6f2ed605f33c7053d78 (patch) | |
| tree | 85b8b5f30e15f6160f37bc2552b181ea809a7580 /tests/mir-opt/optimize_none.rs | |
| parent | cd848c9f3eebcb4a0940e1370d3e6ba9b0fe4bca (diff) | |
| download | rust-7a9661d768f52d4bde71b6f2ed605f33c7053d78.tar.gz rust-7a9661d768f52d4bde71b6f2ed605f33c7053d78.zip | |
Disable non-required MIR opts with `optimize(none)`
Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>
Diffstat (limited to 'tests/mir-opt/optimize_none.rs')
| -rw-r--r-- | tests/mir-opt/optimize_none.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/mir-opt/optimize_none.rs b/tests/mir-opt/optimize_none.rs new file mode 100644 index 00000000000..a5b541bd2b6 --- /dev/null +++ b/tests/mir-opt/optimize_none.rs @@ -0,0 +1,32 @@ +//@ revisions: NO-OPT SPEED-OPT +//@[NO-OPT] compile-flags: -Copt-level=0 +//@[SPEED-OPT] compile-flags: -Copt-level=3 -Coverflow-checks=y + +#![feature(optimize_attribute)] + +#[optimize(none)] +pub fn add_noopt() -> i32 { + // CHECK-LABEL: fn add_noopt( + // CHECK: AddWithOverflow(const 1_i32, const 2_i32); + // CHECK-NEXT: assert + 1 + 2 +} + +#[optimize(none)] +pub fn const_branch() -> i32 { + // CHECK-LABEL: fn const_branch( + // CHECK: switchInt(const true) -> [0: [[FALSE:bb[0-9]+]], otherwise: [[TRUE:bb[0-9]+]]]; + // CHECK-NEXT: } + // CHECK: [[FALSE]]: { + // CHECK-NEXT: _0 = const 0 + // CHECK-NEXT: goto + // CHECK-NEXT: } + // CHECK: [[TRUE]]: { + // CHECK-NEXT: _0 = const 1 + // CHECK-NEXT: goto + // CHECK-NEXT: } + + if true { 1 } else { 0 } +} + +fn main() {} |
