# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -march=aarch64 -run-pass=legalizer %s -o - | FileCheck %s

# The LOCAL_ESCAPE instructions should not be deleted as dead.

---
name: no_erase_local_escape
tracksRegLiveness: true
stack:
  - { id: 0, size: 4, alignment: 4 }
  - { id: 1, size: 8, alignment: 4 }
body:             |
  bb.0:
    ; CHECK-LABEL: name: no_erase_local_escape
    ; CHECK: LOCAL_ESCAPE <mcsymbol .Llocal_escape$frame_escape_0>, %stack.0
    ; CHECK: LOCAL_ESCAPE <mcsymbol .Llocal_escape$frame_escape_1>, %stack.1
    ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 42
    ; CHECK: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 13
    ; CHECK: [[FRAME_INDEX:%[0-9]+]]:_(p0) = G_FRAME_INDEX %stack.0
    ; CHECK: [[FRAME_INDEX1:%[0-9]+]]:_(p0) = G_FRAME_INDEX %stack.1
    ; CHECK: G_STORE [[C]](s32), [[FRAME_INDEX]](p0) :: (store 4)
    ; CHECK: G_STORE [[C1]](s32), [[FRAME_INDEX1]](p0) :: (store 4)
    ; CHECK: RET_ReallyLR
    LOCAL_ESCAPE <mcsymbol .Llocal_escape$frame_escape_0>, %stack.0
    LOCAL_ESCAPE <mcsymbol .Llocal_escape$frame_escape_1>, %stack.1
    %2:_(s32) = G_CONSTANT i32 42
    %3:_(s32) = G_CONSTANT i32 13
    %0:_(p0) = G_FRAME_INDEX %stack.0
    %1:_(p0) = G_FRAME_INDEX %stack.1
    G_STORE %2(s32), %0(p0) :: (store 4)
    G_STORE %3(s32), %1(p0) :: (store 4)
    RET_ReallyLR

...
