brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 56a3d28 Raw
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