blob: 51f50dff67fc0b6524473eef251e3cdfe82eadf9 [file] [edit]
; NOTE: Assertions have been autogenerated by utils/update_llubi_test_checks.py UTC_ARGS: --version 6
; RUN: llubi --verbose < %s 2>&1 | FileCheck %s
target datalayout = "e-p:64:64:64:32"
%struct = type { i64, [2 x i32], i64 }
define i32 @count() {
ret i32 4
}
define ptr @stack_address() {
%alloc = alloca i32
ret ptr %alloc
}
define void @main() {
%alloc = alloca i32
%alloc_large_align = alloca i32, align 64
%count = call i32 @count()
%alloc_dyn = alloca i32, i32 %count
%alloc_struct = alloca %struct
%ptr = call ptr @stack_address()
ret void
}
; CHECK: Entering function: main
; CHECK-NEXT: %alloc = alloca i32, align 4 => ptr 0x8 [alloc]
; CHECK-NEXT: %alloc_large_align = alloca i32, align 64 => ptr 0x40 [alloc_large_align]
; CHECK-NEXT: Entering function: count
; CHECK-NEXT: ret i32 4
; CHECK-NEXT: Exiting function: count
; CHECK-NEXT: %count = call i32 @count() => i32 4
; CHECK-NEXT: %alloc_dyn = alloca i32, i32 %count, align 4 => ptr 0x44 [alloc_dyn]
; CHECK-NEXT: %alloc_struct = alloca %struct, align 8 => ptr 0x58 [alloc_struct]
; CHECK-NEXT: Entering function: stack_address
; CHECK-NEXT: %alloc = alloca i32, align 4 => ptr 0x70 [alloc]
; CHECK-NEXT: ret ptr %alloc
; CHECK-NEXT: Exiting function: stack_address
; CHECK-NEXT: %ptr = call ptr @stack_address() => ptr 0x70 [dangling]
; CHECK-NEXT: ret void
; CHECK-NEXT: Exiting function: main