# RUN: llc -mtriple powerpc64-unknown-linux-gnu -run-pass livevars -run-pass phi-node-elimination -verify-machineinstrs -o - %s | FileCheck %s

# This test case was originally known as
#   test/CodeGen/PowerPC/2013-07-01-PHIElimBug.ll
#
# It was discovered that the original test case no longer reproduced the bug
# from PR16508 (solved in rL185363). That could have been resolved by adding
# -O1 (or possibly -O0) to the run line, but instead the test case was
# converted into this .mir test case. Having it as a .mir test should make it
# less sensitive to changes in earlier passes.

--- |
  target datalayout = "E-m:e-i64:64-n32:64"
  target triple = "powerpc64-unknown-linux-gnu"

  @g_51 = external global [8 x i32], align 4
  define void @func_7() {
    bb.0:
      ret void
  }
...
---
name:            func_7
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x2

    %0:g8rc_and_g8rc_nox0 = ADDIStocHA8 $x2, @g_51
    %1:g8rc_and_g8rc_nox0 = LDtocL @g_51, killed %0, implicit $x2 :: (load (s64))
    %2:gprc = LI 0
    %3:crrc = CMPLWI killed %2, 0
    BCC 76, killed %3, %bb.2

  bb.1:
    %4:g8rc = ADDI8 killed %1, 24
    B %bb.4

  bb.2:
    %5:g8rc = ADDI8 killed %1, 24
    %6:g8rc = LI8 0
    %7:crrc = CMPLWI undef %8:gprc, 20

  bb.3:
    %9:g8rc = PHI %5, %bb.2, %10, %bb.3
    %10:g8rc = PHI %6, %bb.2, undef %11:g8rc, %bb.3
    BCC 68, %7, %bb.3
    B %bb.4

  bb.4:
    %12:g8rc_and_g8rc_nox0 = PHI %4, %bb.1, %9, %bb.3
    %13:g8rc = LI8 0
    STW8 killed %13, 0, killed %12 :: (store (s32))
    BLR8 implicit $lr8, implicit $rm

...

# Original TR (and 2013-07-01-PHIElimBug.ll) was about verifier errors for bb.3.
#
# I got a feeling that we also need to have some checks to see that # the code
# is correct in some way. Hopefully this test case is stable enough to verify
# the full MIR like this.
#
# CHECK:       bb.0:
# CHECK:         %0:g8rc_and_g8rc_nox0 = ADDIStocHA8 $x2, @g_51
# CHECK-NEXT:    %1:g8rc_and_g8rc_nox0 = LDtocL @g_51, killed %0, implicit killed $x2 :: (load (s64))
# CHECK-NEXT:    %2:gprc = LI 0
# CHECK-NEXT:    %3:crrc = CMPLWI killed %2, 0
# CHECK-NEXT:    BCC 76, killed %3, %bb.2
# CHECK:       bb.1:
# CHECK:         %4:g8rc = ADDI8 killed %1, 24
# CHECK-NEXT:    %16:g8rc_and_g8rc_nox0 = COPY killed %4
# CHECK-NEXT:    B %bb.4
# CHECK:       bb.2:
# CHECK:         %5:g8rc = ADDI8 killed %1, 24
# CHECK-NEXT:    %6:g8rc = LI8 0
# CHECK-NEXT:    %7:crrc = CMPLWI undef %8:gprc, 20
# CHECK-NEXT:    %14:g8rc = COPY killed %5
# CHECK-NEXT:    %15:g8rc = COPY killed %6
# CHECK:       bb.3:
# CHECK:         %10:g8rc = COPY killed %15
# CHECK-NEXT:    %9:g8rc = COPY killed %14
# CHECK-NEXT:    %14:g8rc = COPY killed %10
# CHECK-NEXT:    %15:g8rc = IMPLICIT_DEF
# CHECK-NEXT:    %16:g8rc_and_g8rc_nox0 = COPY killed %9
# CHECK-NEXT:    BCC 68, %7, %bb.3
# CHECK-NEXT:    B %bb.4
# CHECK:       bb.4:
# CHECK:         %12:g8rc_and_g8rc_nox0 = COPY killed %16
# CHECK-NEXT:    %13:g8rc = LI8 0
# CHECK-NEXT:    STW8 killed %13, 0, killed %12 :: (store (s32))
# CHECK-NEXT:    BLR8 implicit $lr8, implicit $rm
