// compile-flags: -O -C no-prepopulate-passes

#![crate_type = "lib"]

// CHECK-LABEL: define{{.*}}i32 @test(i32 %a, i32 %b)
#[no_mangle]
pub fn test(a: u32, b: u32) -> u32 {
    let c = a + b;
    // CHECK: %c = add i32 %a, %b
    let d = c;
    let e = d * a;
    // CHECK-NEXT: %e = mul i32 %c, %a
    e
    // CHECK-NEXT: ret i32 %e
}
