57 lines · plain
1# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass=prologepilog %s -o - | FileCheck %s2...3# Ensure that objects with StackID > 0 are not allocated on the default stack4# (will not be allocated an offset) and are not considered in the calculation of5# the StackSize.6# CHECK: name: test_allocate7# CHECK: stackSize: 168# CHECK: stack:9# CHECK: id: 0, name: '', type: default, offset: -8, size: 8, alignment: 8,10# CHECK-NEXT: stack-id: default11# CHECK: id: 1, name: '', type: default, offset: -16, size: 8, alignment: 8,12# CHECK-NEXT: stack-id: default13# CHECK: id: 2, name: '', type: default, offset: 0, size: 8, alignment: 8,14# CHECK-NEXT: stack-id: noalloc15name: test_allocate16frameInfo:17 maxAlignment: 1618stack: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_ReallyLR25---26...27# Ensure MaxAlignment becomes '32' even though we also have an object28# with alignment of 64. MaxAlignment only pertains to the default stack29# (StackID 0), so objects associated with a different StackID should30# not be considered.31#32# CHECK: name: test_maxalign33# CHECK: maxAlignment: 3234name: test_maxalign35frameInfo:36 maxAlignment: 1637stack: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_ReallyLR43---44...45# CHECK: name: test_maxalign_fixedstack46# CHECK: maxAlignment: 3247name: test_maxalign_fixedstack48frameInfo:49 maxAlignment: 1650fixedStack: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_ReallyLR56---57