64 lines · plain
1# REQUIRES: aarch64-registered-target, amdgpu-registered-target2 3# RUN: split-file %s %t4 5# RUN: llc -mtriple=aarch64 -run-pass=none -o - %t/valid.mir6# RUN: not --crash llc -mtriple=aarch64 -run-pass=none -o - %t/lower.mir 2>&1 | FileCheck %t/lower.mir7# RUN: not --crash llc -mtriple=aarch64 -run-pass=none -o - %t/overlap.mir 2>&1 | FileCheck %t/overlap.mir8# RUN: not --crash llc -mtriple=amdgcn -run-pass=none -o - %t/higher.mir 2>&1 | FileCheck %t/higher.mir9 10;--- valid.mir11---12name: valid13frameInfo:14 stackSize: 1615 stackProtector: '%stack.1'16stack:17 - { id: 0, offset: -24, size: 8, alignment: 8, stack-id: default }18 - { id: 1, offset: -16, size: 8, alignment: 8, stack-id: default }19body: |20 bb.0:21...22 23;--- lower.mir24# CHECK: *** Bad machine code: Stack protector is not the top-most object on the stack ***25---26name: lower27frameInfo:28 stackSize: 1629 stackProtector: '%stack.1'30stack:31 - { id: 0, offset: -16, size: 8, alignment: 8, stack-id: default }32 - { id: 1, offset: -24, size: 8, alignment: 8, stack-id: default }33body: |34 bb.0:35...36 37;--- overlap.mir38# CHECK: *** Bad machine code: Stack protector overlaps with another stack object ***39---40name: overlap41frameInfo:42 stackSize: 1643 stackProtector: '%stack.1'44stack:45 - { id: 0, offset: -20, size: 8, alignment: 4, stack-id: default }46 - { id: 1, offset: -16, size: 8, alignment: 8, stack-id: default }47body: |48 bb.0:49...50 51;--- higher.mir52# CHECK: *** Bad machine code: Stack protector is not the top-most object on the stack ***53---54name: higher55frameInfo:56 stackSize: 1657 stackProtector: '%stack.1'58stack:59 - { id: 0, offset: 16, size: 8, alignment: 8, stack-id: default }60 - { id: 1, offset: 24, size: 8, alignment: 8, stack-id: default }61body: |62 bb.0:63...64