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