| # RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass=prolog-epilog %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 | |
| --- |