forked from OSchip/llvm-project
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
# 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
|
|
---
|