35 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=legalizer %s -o - | FileCheck %s3 4# The LOCAL_ESCAPE instructions should not be deleted as dead.5 6---7name: no_erase_local_escape8tracksRegLiveness: true9stack:10 - { id: 0, size: 4, alignment: 4 }11 - { id: 1, size: 8, alignment: 4 }12body: |13 bb.0:14 ; CHECK-LABEL: name: no_erase_local_escape15 ; CHECK: LOCAL_ESCAPE <mcsymbol .Llocal_escape$frame_escape_0>, %stack.016 ; CHECK-NEXT: LOCAL_ESCAPE <mcsymbol .Llocal_escape$frame_escape_1>, %stack.117 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 4218 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 1319 ; CHECK-NEXT: [[FRAME_INDEX:%[0-9]+]]:_(p0) = G_FRAME_INDEX %stack.020 ; CHECK-NEXT: [[FRAME_INDEX1:%[0-9]+]]:_(p0) = G_FRAME_INDEX %stack.121 ; CHECK-NEXT: G_STORE [[C]](s32), [[FRAME_INDEX]](p0) :: (store (s32))22 ; CHECK-NEXT: G_STORE [[C1]](s32), [[FRAME_INDEX1]](p0) :: (store (s32))23 ; CHECK-NEXT: RET_ReallyLR24 LOCAL_ESCAPE <mcsymbol .Llocal_escape$frame_escape_0>, %stack.025 LOCAL_ESCAPE <mcsymbol .Llocal_escape$frame_escape_1>, %stack.126 %2:_(s32) = G_CONSTANT i32 4227 %3:_(s32) = G_CONSTANT i32 1328 %0:_(p0) = G_FRAME_INDEX %stack.029 %1:_(p0) = G_FRAME_INDEX %stack.130 G_STORE %2(s32), %0(p0) :: (store (s32))31 G_STORE %3(s32), %1(p0) :: (store (s32))32 RET_ReallyLR33 34...35