# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass=prologepilog %s -o - | FileCheck %s ... # Ensure that objects with StackID > 0 are not allocated on the default stack # (will not be allocated an offset) and are not considered in the calculation of # the StackSize. # CHECK: name: test_allocate # CHECK: stackSize: 16 # CHECK: stack: # CHECK: id: 0, name: '', type: default, offset: -8, size: 8, alignment: 8, # CHECK-NEXT: stack-id: default # CHECK: id: 1, name: '', type: default, offset: -16, size: 8, alignment: 8, # CHECK-NEXT: stack-id: default # CHECK: id: 2, name: '', type: default, offset: 0, size: 8, alignment: 8, # CHECK-NEXT: stack-id: noalloc name: test_allocate frameInfo: maxAlignment: 16 stack: - { id: 0, stack-id: default, size: 8, alignment: 8, offset: 0 } - { id: 1, stack-id: default, size: 8, alignment: 8, offset: 0 } - { id: 2, stack-id: noalloc, size: 8, alignment: 8, offset: 0 } body: | bb.0.entry: RET_ReallyLR --- ... # Ensure MaxAlignment becomes '32' even though we also have an object # with alignment of 64. MaxAlignment only pertains to the default stack # (StackID 0), so objects associated with a different StackID should # not be considered. # # CHECK: name: test_maxalign # CHECK: maxAlignment: 32 name: test_maxalign frameInfo: maxAlignment: 16 stack: - { id: 0, stack-id: default, size: 16, alignment: 32 } - { id: 1, stack-id: noalloc, size: 16, alignment: 64 } body: | bb.0.entry: RET_ReallyLR --- ... # CHECK: name: test_maxalign_fixedstack # CHECK: maxAlignment: 32 name: test_maxalign_fixedstack frameInfo: maxAlignment: 16 fixedStack: - { id: 0, stack-id: default, size: 16, alignment: 32 } - { id: 1, stack-id: noalloc, size: 16, alignment: 64 } body: | bb.0.entry: RET_ReallyLR ---