38 lines · plain
1; RUN: opt -passes=inline -S < %s | FileCheck %s2; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s3%struct.A = type { i32 }4 5define void @callee1(i32 %M) {6entry:7 %vla = alloca i32, i32 %M, align 168 ret void9}10 11define void @callee2(i32 %M) {12entry:13 %vla = alloca %struct.A, i32 %M, align 1614 ret void15}16 17define void @callee3(i128 %M) {18entry:19 %vla = alloca i32, i128 %M, align 1620 ret void21}22 23; CHECK-LABEL: @caller24define void @caller() #0 {25entry:26 call void @caller()27; CHECK-NOT: call void @callee128 call void @callee1(i32 256)29; CHECK: call void @callee230 call void @callee2(i32 4096)31; CHECK: call void @callee332; This is to test that there is no overflow in computing allocated size33; call void @callee3(i128 0x8000000000000000);34 call void @callee3(i128 9223372036854775808);35 ret void36}37 38