blob: 1dd6ca51063b1cfaea6397c5f88fc132b1284411 [file] [log] [blame] [edit]
//@ compile-flags: -O
#![crate_type = "lib"]
// CHECK-LABEL: @loop_skips_vtable_load
#[no_mangle]
pub fn loop_skips_vtable_load(x: &dyn Fn()) {
// CHECK: load ptr, ptr %0{{.*}}, !invariant.load
// CHECK-NEXT: tail call void %1
// CHECK-NOT: load ptr
x();
for _ in 0..100 {
// CHECK: tail call void %1
x();
}
}