1 // compile-flags: -C no-prepopulate-passes
3 #![feature(core_intrinsics)]
6 // test that `move_val_init` actually avoids big allocas
8 use std::intrinsics::move_val_init;
14 // CHECK-LABEL: @test_mvi
16 pub unsafe fn test_mvi(target: *mut Big, make_big: fn() -> Big) {
17 // CHECK: call void %make_big(%Big*{{[^%]*}} %target)
18 move_val_init(target, make_big());