1; RUN: llc -mtriple=x86_64-unknown-linux-gnu -O0 --frame-pointer=non-leaf %s -o - | FileCheck %s 2 3%block = type { %blockheader, [0 x ptr] } 4%blockheader = type { i64 } 5 6define void @scanStackRoots(i32) { 7 ret void 8} 9 10define i32 @main(i32 %argc, ptr %argv) { 11entry: 12 %0 = call tailcc ptr @apply_rule_6870(ptr null, ptr null) 13 ret i32 0 14} 15 16define internal tailcc ptr @apply_rule_6870(ptr %0, ptr %1) { 17entry: 18 %2 = tail call tailcc ptr @sender12(ptr %0, ptr %1) 19 ret ptr null 20} 21 22define internal tailcc ptr @sender12(ptr %0, ptr %1) { 23; CHECK-LABEL: sender12: 24; CHECK: .cfi_startproc 25; CHECK: subq $8160, %rsp 26; CHECK: pushq %rbp 27; CHECK: .cfi_def_cfa_offset 8176 28; CHECK: .cfi_offset %rbp, -8176 29entry: 30 %a = alloca [1024 x i32] 31 %b = load [1024 x i32], ptr %a 32 call void @scanStackRoots(i32 1) 33 %2 = tail call tailcc ptr @apply_rule_6300(ptr %0, ptr %1, [1024 x i32] %b) 34 ret ptr %2 35} 36 37define internal tailcc ptr @apply_rule_6300(ptr %0, ptr %1, [1024 x i32] %2) { 38entry: 39 %3 = tail call tailcc ptr @sender4(ptr %0, ptr %1) 40 ret ptr %3 41} 42 43define internal tailcc ptr @sender4(ptr %0, ptr %1) { 44entry: 45 call void @scanStackRoots(i32 2) 46 ret ptr null 47} 48