1# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass=prologepilog %s -o - | FileCheck %s 2... 3# Ensure that objects with StackID > 0 are not allocated on the default stack 4# (will not be allocated an offset) and are not considered in the calculation of 5# the StackSize. 6# CHECK: name: test_allocate 7# CHECK: stackSize: 16 8# CHECK: stack: 9# CHECK: id: 0, name: '', type: default, offset: -8, size: 8, alignment: 8, 10# CHECK-NEXT: stack-id: default 11# CHECK: id: 1, name: '', type: default, offset: -16, size: 8, alignment: 8, 12# CHECK-NEXT: stack-id: default 13# CHECK: id: 2, name: '', type: default, offset: 0, size: 8, alignment: 8, 14# CHECK-NEXT: stack-id: noalloc 15name: test_allocate 16frameInfo: 17 maxAlignment: 16 18stack: 19 - { id: 0, stack-id: default, size: 8, alignment: 8, offset: 0 } 20 - { id: 1, stack-id: default, size: 8, alignment: 8, offset: 0 } 21 - { id: 2, stack-id: noalloc, size: 8, alignment: 8, offset: 0 } 22body: | 23 bb.0.entry: 24 RET_ReallyLR 25--- 26... 27# Ensure MaxAlignment becomes '32' even though we also have an object 28# with alignment of 64. MaxAlignment only pertains to the default stack 29# (StackID 0), so objects associated with a different StackID should 30# not be considered. 31# 32# CHECK: name: test_maxalign 33# CHECK: maxAlignment: 32 34name: test_maxalign 35frameInfo: 36 maxAlignment: 16 37stack: 38 - { id: 0, stack-id: default, size: 16, alignment: 32 } 39 - { id: 1, stack-id: noalloc, size: 16, alignment: 64 } 40body: | 41 bb.0.entry: 42 RET_ReallyLR 43--- 44... 45# CHECK: name: test_maxalign_fixedstack 46# CHECK: maxAlignment: 32 47name: test_maxalign_fixedstack 48frameInfo: 49 maxAlignment: 16 50fixedStack: 51 - { id: 0, stack-id: default, size: 16, alignment: 32 } 52 - { id: 1, stack-id: noalloc, size: 16, alignment: 64 } 53body: | 54 bb.0.entry: 55 RET_ReallyLR 56--- 57