brintos

brintos / llvm-project-archived public Read only

0
0
Text · 933 B · 12e1f11 Raw
41 lines · plain
1; RUN: opt < %s -passes=inline -S | FileCheck %s2; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s3; Do not inline calls with variable-sized alloca.4 5@q = common global ptr null6 7define ptr @a(i32 %i) nounwind {8; CHECK-LABEL: define ptr @a9entry:10  %i_addr = alloca i3211  %retval = alloca ptr12  %p = alloca ptr13  %"alloca point" = bitcast i32 0 to i3214  store i32 %i, ptr %i_addr15  %0 = load i32, ptr %i_addr, align 416  %1 = alloca i8, i32 %017  store ptr %1, ptr %p, align 418  %2 = load ptr, ptr %p, align 419  store ptr %2, ptr @q, align 420  br label %return21 22return:23  %retval1 = load ptr, ptr %retval24  ret ptr %retval125}26 27define void @b(i32 %i) nounwind {28; CHECK-LABEL: define void @b29entry:30  %i_addr = alloca i3231  %"alloca point" = bitcast i32 0 to i3232  store i32 %i, ptr %i_addr33  %0 = load i32, ptr %i_addr, align 434  %1 = call ptr @a(i32 %0) nounwind35; CHECK: call ptr @a36  br label %return37 38return:39  ret void40}41