1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm64-apple-ios7.0 -o - %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker@global = global [20 x i64] zeroinitializer, align 8 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker; The following function has enough locals to need some restoring, but not a 6*9880d681SAndroid Build Coastguard Worker; frame record. In an intermediate frame refactoring, prologue and epilogue were 7*9880d681SAndroid Build Coastguard Worker; inconsistent about how much to move SP. 8*9880d681SAndroid Build Coastguard Workerdefine void @test_stack_no_frame() { 9*9880d681SAndroid Build Coastguard Worker; CHECK: test_stack_no_frame 10*9880d681SAndroid Build Coastguard Worker; CHECK: sub sp, sp, #[[STACKSIZE:[0-9]+]] 11*9880d681SAndroid Build Coastguard Worker %local = alloca [20 x i64] 12*9880d681SAndroid Build Coastguard Worker %val = load volatile [20 x i64], [20 x i64]* @global, align 8 13*9880d681SAndroid Build Coastguard Worker store volatile [20 x i64] %val, [20 x i64]* %local, align 8 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker %val2 = load volatile [20 x i64], [20 x i64]* %local, align 8 16*9880d681SAndroid Build Coastguard Worker store volatile [20 x i64] %val2, [20 x i64]* @global, align 8 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker; CHECK: add sp, sp, #[[STACKSIZE]] 19*9880d681SAndroid Build Coastguard Worker ret void 20*9880d681SAndroid Build Coastguard Worker} 21