# RUN: llc -verify-machineinstrs -mcpu=pwr9 -mtriple powerpc64le-unknown-linux-gnu \
# RUN:   -run-pass=block-placement -o - %s | FileCheck %s
--- |
  ; ModuleID = 'block-placement.ll'
  source_filename = "block-placement.ll"
  target datalayout = "e-m:e-i64:64-n32:64"
  target triple = "powerpc64le-unknown-linux-gnu"

  %"class.xercesc_2_7::HashXMLCh" = type { %"class.xercesc_2_7::HashBase" }
  %"class.xercesc_2_7::HashBase" = type { ptr }

  define dso_local zeroext i1 @_ZN11xercesc_2_79HashXMLCh6equalsEPKvS2_(ptr nocapture readnone %this, ptr readonly %key1, ptr readonly %key2) unnamed_addr #0 {
  entry:
    %cmp.i = icmp eq ptr %key1, null
    %cmp1.i = icmp eq ptr %key2, null
    %or.cond.i = or i1 %cmp.i, %cmp1.i
    br i1 %or.cond.i, label %if.then.i, label %while.cond.preheader.i

  while.cond.preheader.i:                           ; preds = %entry
    %0 = bitcast ptr %key2 to ptr
    %1 = bitcast ptr %key1 to ptr
    %2 = load i16, ptr %1, align 2
    %3 = load i16, ptr %0, align 2
    %cmp926.i = icmp eq i16 %2, %3
    br i1 %cmp926.i, label %while.body.i.preheader, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit

  while.body.i.preheader:                           ; preds = %while.cond.preheader.i
    %scevgep = getelementptr i8, ptr %key2, i64 2
    %scevgep4 = getelementptr i8, ptr %key1, i64 2
    br label %while.body.i

  if.then.i:                                        ; preds = %entry
    br i1 %cmp.i, label %lor.lhs.false3.i, label %land.lhs.true.i

  land.lhs.true.i:                                  ; preds = %if.then.i
    %4 = bitcast ptr %key1 to ptr
    %5 = load i16, ptr %4, align 2
    %tobool.i = icmp eq i16 %5, 0
    br i1 %tobool.i, label %lor.lhs.false3.i, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit

  lor.lhs.false3.i:                                 ; preds = %land.lhs.true.i, %if.then.i
    br i1 %cmp1.i, label %if.else.i, label %land.lhs.true5.i

  land.lhs.true5.i:                                 ; preds = %lor.lhs.false3.i
    %6 = bitcast ptr %key2 to ptr
    %7 = load i16, ptr %6, align 2
    %tobool6.i = icmp eq i16 %7, 0
    br i1 %tobool6.i, label %if.else.i, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit

  if.else.i:                                        ; preds = %land.lhs.true5.i, %lor.lhs.false3.i
    br label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit

  while.body.i:                                     ; preds = %while.body.i.preheader, %if.end12.i
    %lsr.iv5 = phi ptr [ %scevgep4, %while.body.i.preheader ], [ %scevgep6, %if.end12.i ]
    %lsr.iv = phi ptr [ %scevgep, %while.body.i.preheader ], [ %scevgep2, %if.end12.i ]
    %8 = phi i16 [ %15, %if.end12.i ], [ %2, %while.body.i.preheader ]
    %9 = phi ptr [ %key1, %while.body.i.preheader ], [ %13, %if.end12.i ]
    %10 = phi ptr [ %key2, %while.body.i.preheader ], [ %11, %if.end12.i ]
    %11 = getelementptr i8, ptr %10, i64 2
    %12 = bitcast ptr %11 to ptr
    %13 = getelementptr i8, ptr %9, i64 2
    %14 = bitcast ptr %13 to ptr
    %tobool10.i = icmp eq i16 %8, 0
    br i1 %tobool10.i, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit, label %if.end12.i

  if.end12.i:                                       ; preds = %while.body.i
    %15 = load i16, ptr %14, align 2
    %16 = load i16, ptr %12, align 2
    %cmp9.i = icmp eq i16 %15, %16
    %scevgep2 = getelementptr i8, ptr %lsr.iv, i64 2
    %scevgep6 = getelementptr i8, ptr %lsr.iv5, i64 2
    br i1 %cmp9.i, label %while.body.i, label %_ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit

  _ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit:    ; preds = %if.end12.i, %while.body.i, %if.else.i, %land.lhs.true5.i, %land.lhs.true.i, %while.cond.preheader.i
    %retval.0.i1 = phi i64 [ 1, %if.else.i ], [ 0, %land.lhs.true.i ], [ 0, %land.lhs.true5.i ], [ 0, %while.cond.preheader.i ], [ 0, %if.end12.i ], [ 1, %while.body.i ]
    %backToBool = trunc i64 %retval.0.i1 to i1
    ret i1 %backToBool
  }

  attributes #0 = { "target-cpu"="pwr9" }

...
---
name:            _ZN11xercesc_2_79HashXMLCh6equalsEPKvS2_
alignment:       16
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
hasWinCFI:       false
registers:       []
liveins:
  - { reg: '$x4', virtual-reg: '' }
  - { reg: '$x5', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    0
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  cvBytesOfCalleeSavedRegisters: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  localFrameSize:  0
  savePoint:       []
  restorePoint:    []
fixedStack:      []
stack:           []
callSites:       []
constants:       []
machineFunctionInfo: {}
body:             |
  bb.0.entry:
    successors: %bb.5(0x40000000), %bb.1(0x40000000)
    liveins: $x4, $x5

    renamable $cr1 = CMPDI renamable $x4, 0
    renamable $cr0 = CMPDI renamable $x5, 0
    renamable $cr5lt = CROR renamable $cr1eq, renamable $cr0eq
    BC killed renamable $cr5lt, %bb.5

  bb.1.while.cond.preheader.i:
    successors: %bb.2(0x40000000), %bb.11(0x40000000)
    liveins: $x4, $x5

    renamable $r8 = LHZ 0, renamable $x4 :: (load (s16) from %ir.1)
    renamable $r6 = LHZ 0, renamable $x5 :: (load (s16) from %ir.0)
    renamable $x3 = LI8 0
    renamable $cr0 = CMPLW renamable $r8, killed renamable $r6
    BCC 68, killed renamable $cr0, %bb.11

  bb.2.while.body.i.preheader:
    successors: %bb.3(0x80000000)
    liveins: $r8, $x3, $x4, $x5

    renamable $x6 = ADDI8 renamable $x5, 2
    renamable $x7 = ADDI8 renamable $x4, 2

  bb.3.while.body.i:
    successors: %bb.4(0x04000000), %bb.10(0x7c000000)
    liveins: $r8, $x3, $x4, $x5, $x6, $x7

    dead renamable $r8 = ANDI_rec killed renamable $r8, 65535, implicit-def $cr0
    BCC 68, killed renamable $cr0, %bb.10

  bb.4:
    renamable $x3 = LI8 1
    BLR8 implicit $lr8, implicit $rm, implicit killed $x3

  bb.5.if.then.i:
    successors: %bb.7(0x30000000), %bb.6(0x50000000)
    liveins: $cr0, $cr1, $x4, $x5

    BC killed renamable $cr1eq, %bb.7

  bb.6.land.lhs.true.i:
    successors: %bb.7(0x30000000), %bb.11(0x50000000)
    liveins: $cr0, $x4, $x5

    renamable $r4 = LHZ 0, killed renamable $x4 :: (load (s16) from %ir.4)
    renamable $x3 = LI8 0
    renamable $cr1 = CMPLWI killed renamable $r4, 0
    BCC 68, killed renamable $cr1, %bb.11

  bb.7.lor.lhs.false3.i:
    successors: %bb.9(0x30000000), %bb.8(0x50000000)
    liveins: $cr0, $x5

    BC killed renamable $cr0eq, %bb.9

  bb.8.land.lhs.true5.i:
    successors: %bb.9(0x80000000)
    liveins: $x5

    renamable $r4 = LHZ 0, killed renamable $x5 :: (load (s16) from %ir.6)
    renamable $x3 = LI8 0
    renamable $cr0 = CMPLWI killed renamable $r4, 0
    BCCLR 68, killed renamable $cr0, implicit $lr, implicit $rm, implicit killed $x3

  bb.9.if.else.i:
    renamable $x3 = LI8 1
    BLR8 implicit $lr8, implicit $rm, implicit killed $x3

  bb.10.if.end12.i:
    successors: %bb.3(0x7c000000), %bb.11(0x04000000)
    liveins: $x3, $x4, $x5, $x6, $x7

    renamable $x5 = ADDI8 killed renamable $x5, 2
    renamable $x4 = ADDI8 killed renamable $x4, 2
    renamable $r8 = LHZ 0, renamable $x4 :: (load (s16) from %ir.14)
    renamable $r9 = LHZ 0, renamable $x5 :: (load (s16) from %ir.12)
    renamable $x6 = ADDI8 killed renamable $x6, 2
    renamable $x7 = ADDI8 killed renamable $x7, 2
    renamable $cr0 = CMPLW renamable $r8, killed renamable $r9
    BCC 76, killed renamable $cr0, %bb.3

  bb.11._ZN11xercesc_2_79XMLString6equalsEPKtS2_.exit:
    liveins: $x3

    BLR8 implicit $lr8, implicit $rm, implicit killed $x3

  ; CHECK:      bb.5.if.else.i:
  ; CHECK:        successors: %bb.11(0x80000000)

  ; CHECK:      bb.11:
  ; CHECK:        renamable $x3 = LI8 1
  ; CHECK-NEXT:   BLR8 implicit $lr8, implicit $rm, implicit killed $x3

  ; CHECK:      bb.8.while.body.i (align 16):
  ; CHECK:        successors: %bb.11(0x04000000), %bb.9(0x7c000000)
  ; CHECK:        BCC 76, killed renamable $cr0, %bb.11
...
