diff options
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() {} |
