1 # RUN: llc -mtriple=aarch64 -run-pass=prologepilog %s -o - | FileCheck %s
3 define i32 @_Z4funcv() {
5 %array = alloca [1073741824 x i32], align 4
6 %arrayidx = getelementptr inbounds [1073741824 x i32], ptr %array, i64 0, i64 20
7 store i32 7, ptr %arrayidx, align 4
9 %arrayidx1 = getelementptr inbounds [1073741824 x i32], ptr %array, i64 0, i64 20
10 %0 = load i32, ptr %arrayidx1, align 4
14 declare void @_Z5func2v()
22 tracksRegLiveness: true
33 - { id: 0, name: array, size: 4294967296, alignment: 4, local-offset: -4294967296 }
34 machineFunctionInfo: {}
37 renamable $w8 = MOVi32imm 7
38 STRWui killed renamable $w8, %stack.0.array, 20 :: (store (s32) into %ir.arrayidx)
39 ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp
40 BL @_Z5func2v, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp
41 ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp
42 renamable $w0 = LDRWui %stack.0.array, 20 :: (dereferenceable load (s32) from %ir.arrayidx1)
43 ; CHECK: early-clobber $sp, $fp, $lr = frame-destroy LDPXpost $sp, 2
44 RET_ReallyLR implicit killed $w0