# RUN: llc -mtriple aarch64-- -run-pass instruction-select -simplify-mir \
# RUN:     -verify-machineinstrs %s -o - | FileCheck %s
#
# RUN: llc -mtriple aarch64-- -global-isel=true -global-isel-abort=2 \
# RUN:     -start-after=regbankselect -stop-before=expand-isel-pseudos \
# RUN:     -simplify-mir -verify-machineinstrs %s -o - 2>&1 \
# RUN:    | FileCheck %s --check-prefix=FALLBACK

# Test that:
# 1) MIRParser can deserialize FailedISel property.
# 2) Machine Verifier respects FailedISel and doesn't complain needlessly.
# 3) MIRPrinter is able to print FailedISel MIR after InstructionSelect pass.
# 4) MIRPrinter can serialize FailedISel property.
# 5) It's possible to start llc mid-GlobalISel pipeline from a MIR file with
#    the FailedISel property set to true and watch it properly fallback to
#    FastISel / SelectionDAG ISel.
# 6) Resetting a MachineFunction resets unique MachineBasicBlock IDs as well.
--- |
  target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
  target triple = "aarch64--"

  define i32 @test(i32 %a, i32 %b) #0 {
  entry:
    %add = add i32 %b, %a
    ret i32 %add
  }

  attributes #0 = { nounwind readnone ssp }
...
---
# CHECK-LABEL: name: test
# CHECK: failedISel: true
#
# FALLBACK: warning: Instruction selection used fallback path for test
# FALLBACK-LABEL: name: test
# FALLBACK-NOT: failedISel
name:            test
alignment:       2
legalized:       true
regBankSelected: true
failedISel:      true
tracksRegLiveness: true
body:             |
  bb.0.entry:
    liveins: $w0, $w1

    ; CHECK: liveins: $w0, $w1
    ;
    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
    ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
    ; CHECK: [[ADD:%[0-9]+]]:gpr(s32) = G_ADD [[COPY1]], [[COPY]]
    ; CHECK: $w0 = COPY [[ADD]](s32)
    ; CHECK: RET_ReallyLR implicit $w0
    ;
    ; FALLBACK: body: |
    ; FALLBACK-NEXT: bb.0.entry:
    ; FALLBACK-NEXT: liveins: $w0, $w1
    ;
    ; FALLBACK: [[COPY:%[0-9]+]]:gpr32 = COPY $w1
    ; FALLBACK: [[COPY1:%[0-9]+]]:gpr32 = COPY $w0
    ; FALLBACK: [[ADDWrr:%[0-9]+]]:gpr32 = ADDWrr [[COPY]], [[COPY1]]
    ; FALLBACK: $w0 = COPY [[ADDWrr]]
    ; FALLBACK: RET_ReallyLR implicit $w0

    %0:_(s32) = COPY $w0
    %1:_(s32) = COPY $w1
    %2:gpr(s32) = G_ADD %1, %0
    $w0 = COPY %2(s32)
    RET_ReallyLR implicit $w0
...
