25 lines · plain
1; RUN: opt -passes='print<inline-cost>' -disable-output %s 2>&1 | FileCheck %s2 3; SROA analysis should yield non-zero savings for allocas passed through invariant group intrinsics4; CHECK: SROACostSavings: 105 6declare ptr @llvm.launder.invariant.group.p0(ptr)7declare ptr @llvm.strip.invariant.group.p0(ptr)8 9declare void @b()10 11define i32 @f() {12 %a = alloca i3213 %r = call i32 @g(ptr %a)14 ret i32 %r15}16 17define i32 @g(ptr %a) {18 %a_inv_i8 = call ptr @llvm.launder.invariant.group.p0(ptr %a)19 %i1 = load i32, ptr %a_inv_i820 %i2 = load i32, ptr %a_inv_i821 %i3 = add i32 %i1, %i222 %t = call ptr @llvm.strip.invariant.group.p0(ptr %a_inv_i8)23 ret i32 %i324}25