# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple aarch64-apple-ios -run-pass regallocfast -o - %s | FileCheck %s
# RUN: llc -mtriple aarch64-apple-ios -passes=regallocfast -o - %s | FileCheck %s
# This test used to crash the fast register alloc.
# Basically, when a basic block has liveins, the fast regalloc
# was deferencing the begin iterator of this block. However,
# when this block is empty and it will just crashed!
---
name: crashing
tracksRegLiveness: true
body: |
; CHECK-LABEL: name: crashing
; CHECK: bb.0:
; CHECK: successors: %bb.1(0x80000000)
; CHECK: liveins: $x0, $x1
; CHECK: bb.1:
; CHECK: renamable $w0 = MOVi32imm -1
; CHECK: RET_ReallyLR implicit killed $w0
bb.1:
liveins: $x0, $x1
bb.2:
%0:gpr32 = MOVi32imm -1
$w0 = COPY %0
RET_ReallyLR implicit $w0
...