# RUN: llc -mtriple=x86_64-- -run-pass=peephole-opt -o - %s | FileCheck %s

--- |
  define i32 @foo(i32 %a) {
  bb0:
    br label %bb1

  bb1:                                              ; preds = %bb7, %bb0
    %vreg0 = phi i32 [ 0, %bb0 ], [ %vreg3, %bb7 ]
    %cond0 = icmp eq i32 %a, 0
    br i1 %cond0, label %bb4, label %bb3

  bb3:                                              ; preds = %bb1
    br label %bb4

  bb4:                                              ; preds = %bb1, %bb3
    %vreg5 = phi i32 [ 2, %bb3 ], [ 1, %bb1 ]
    %cond1 = icmp eq i32 %vreg5, 0
    br i1 %cond1, label %bb7, label %bb6

  bb6:                                              ; preds = %bb4
    br label %bb7

  bb7:                                              ; preds = %bb4, %bb6
    %vreg1 = phi i32 [ 2, %bb6 ], [ 1, %bb4 ]
    %vreg2 = add i32 %vreg5, %vreg0
    %vreg3 = add i32 %vreg1, %vreg2
    %cond2 = icmp slt i32 %vreg3, 10
    br i1 %cond2, label %bb1, label %bb8

  bb8:                                              ; preds = %bb7
    ret i32 0
  }

  define i32 @bar(i32 %a, i32* %p) {
  bb0:
    br label %bb1

  bb1:                                              ; preds = %bb7, %bb0
    %vreg0 = phi i32 [ 0, %bb0 ], [ %vreg3, %bb7 ]
    %cond0 = icmp eq i32 %a, 0
    br i1 %cond0, label %bb4, label %bb3

  bb3:                                              ; preds = %bb1
    br label %bb4

  bb4:                                              ; preds = %bb1, %bb3
    %vreg5 = phi i32 [ 2, %bb3 ], [ 1, %bb1 ]
    %cond1 = icmp eq i32 %vreg5, 0
    br i1 %cond1, label %bb7, label %bb6

  bb6:                                              ; preds = %bb4
    br label %bb7

  bb7:                                              ; preds = %bb4, %bb6
    %vreg1 = phi i32 [ 2, %bb6 ], [ 1, %bb4 ]
    %vreg2 = add i32 %vreg5, %vreg0
    store i32 %vreg0, i32* %p
    %vreg3 = add i32 %vreg1, %vreg2
    %cond2 = icmp slt i32 %vreg3, 10
    br i1 %cond2, label %bb1, label %bb8

  bb8:                                              ; preds = %bb7
    ret i32 0
  }

...
---
# There is a recurrence formulated around %0, %10, and %3. Check that operands
# are commuted for ADD instructions in bb.5.bb7 so that the values involved in
# the recurrence are tied. This will remove redundant copy instruction.
name:            foo
tracksRegLiveness: true
registers:
  - { id: 0, class: gr32, preferred-register: '' }
  - { id: 1, class: gr32, preferred-register: '' }
  - { id: 2, class: gr32, preferred-register: '' }
  - { id: 3, class: gr32, preferred-register: '' }
  - { id: 4, class: gr32, preferred-register: '' }
  - { id: 5, class: gr32, preferred-register: '' }
  - { id: 6, class: gr32, preferred-register: '' }
  - { id: 7, class: gr32, preferred-register: '' }
  - { id: 8, class: gr32, preferred-register: '' }
  - { id: 9, class: gr32, preferred-register: '' }
  - { id: 10, class: gr32, preferred-register: '' }
  - { id: 11, class: gr32, preferred-register: '' }
  - { id: 12, class: gr32, preferred-register: '' }
liveins:
  - { reg: '$edi', virtual-reg: '%4' }
body:             |
  bb.0.bb0:
    successors: %bb.1(0x80000000)
    liveins: $edi

    %4 = COPY $edi
    %5 = MOV32r0 implicit-def dead $eflags

  bb.1.bb1:
    successors: %bb.3(0x30000000), %bb.2(0x50000000)

    ; CHECK: %0:gr32 = PHI %5, %bb.0, %3, %bb.5
    %0 = PHI %5, %bb.0, %3, %bb.5
    %6 = MOV32ri 1
    TEST32rr %4, %4, implicit-def $eflags
    JE_1 %bb.3, implicit $eflags
    JMP_1 %bb.2

  bb.2.bb3:
    successors: %bb.3(0x80000000)

    %7 = MOV32ri 2

  bb.3.bb4:
    successors: %bb.5(0x30000000), %bb.4(0x50000000)

    %1 = PHI %6, %bb.1, %7, %bb.2
    TEST32rr %1, %1, implicit-def $eflags
    JE_1 %bb.5, implicit $eflags
    JMP_1 %bb.4

  bb.4.bb6:
    successors: %bb.5(0x80000000)

    %9 = MOV32ri 2

  bb.5.bb7:
    successors: %bb.1(0x7c000000), %bb.6(0x04000000)

    %2 = PHI %6, %bb.3, %9, %bb.4
    %10 = ADD32rr %1, %0, implicit-def dead $eflags
    ; CHECK: %10:gr32 = ADD32rr
    ; CHECK-SAME: %0,
    ; CHECK-SAME: %1,
    %3 = ADD32rr %2, killed %10, implicit-def dead $eflags
    ; CHECK: %3:gr32 = ADD32rr
    ; CHECK-SAME: %10,
    ; CHECK-SAME: %2,
    %11 = SUB32ri8 %3, 10, implicit-def $eflags
    JL_1 %bb.1, implicit $eflags
    JMP_1 %bb.6

  bb.6.bb8:
    %12 = MOV32r0 implicit-def dead $eflags
    $eax = COPY %12
    RET 0, $eax

...
---
# Here a recurrence is formulated around %0, %11, and %3, but operands should
# not be commuted because %0 has a use outside of recurrence. This is to
# prevent the case of commuting operands ties the values with overlapping live
# ranges.
name:            bar
tracksRegLiveness: true
registers:
  - { id: 0, class: gr32, preferred-register: '' }
  - { id: 1, class: gr32, preferred-register: '' }
  - { id: 2, class: gr32, preferred-register: '' }
  - { id: 3, class: gr32, preferred-register: '' }
  - { id: 4, class: gr32, preferred-register: '' }
  - { id: 5, class: gr64, preferred-register: '' }
  - { id: 6, class: gr32, preferred-register: '' }
  - { id: 7, class: gr32, preferred-register: '' }
  - { id: 8, class: gr32, preferred-register: '' }
  - { id: 9, class: gr32, preferred-register: '' }
  - { id: 10, class: gr32, preferred-register: '' }
  - { id: 11, class: gr32, preferred-register: '' }
  - { id: 12, class: gr32, preferred-register: '' }
  - { id: 13, class: gr32, preferred-register: '' }
liveins:
  - { reg: '$edi', virtual-reg: '%4' }
  - { reg: '$rsi', virtual-reg: '%5' }
body:             |
  bb.0.bb0:
    successors: %bb.1(0x80000000)
    liveins: $edi, $rsi

    %5 = COPY $rsi
    %4 = COPY $edi
    %6 = MOV32r0 implicit-def dead $eflags

  bb.1.bb1:
    successors: %bb.3(0x30000000), %bb.2(0x50000000)

    %0 = PHI %6, %bb.0, %3, %bb.5
    ; CHECK: %0:gr32 = PHI %6, %bb.0, %3, %bb.5
    %7 = MOV32ri 1
    TEST32rr %4, %4, implicit-def $eflags
    JE_1 %bb.3, implicit $eflags
    JMP_1 %bb.2

  bb.2.bb3:
    successors: %bb.3(0x80000000)

    %8 = MOV32ri 2

  bb.3.bb4:
    successors: %bb.5(0x30000000), %bb.4(0x50000000)

    %1 = PHI %7, %bb.1, %8, %bb.2
    TEST32rr %1, %1, implicit-def $eflags
    JE_1 %bb.5, implicit $eflags
    JMP_1 %bb.4

  bb.4.bb6:
    successors: %bb.5(0x80000000)

    %10 = MOV32ri 2

  bb.5.bb7:
    successors: %bb.1(0x7c000000), %bb.6(0x04000000)

    %2 = PHI %7, %bb.3, %10, %bb.4
    %11 = ADD32rr %1, %0, implicit-def dead $eflags
    ; CHECK: %11:gr32 = ADD32rr
    ; CHECK-SAME: %1,
    ; CHECK-SAME: %0,
    MOV32mr %5, 1, $noreg, 0, $noreg, %0 :: (store 4 into %ir.p)
    %3 = ADD32rr %2, killed %11, implicit-def dead $eflags
    ; CHECK: %3:gr32 = ADD32rr
    ; CHECK-SAME: %2,
    ; CHECK-SAME: %11,
    %12 = SUB32ri8 %3, 10, implicit-def $eflags
    JL_1 %bb.1, implicit $eflags
    JMP_1 %bb.6

  bb.6.bb8:
    %13 = MOV32r0 implicit-def dead $eflags
    $eax = COPY %13
    RET 0, $eax

...
