; RUN: opt < %s -disable-output -instcombine -verify-dom-info
; RUN: opt < %s -passes='print<postdomtree>' 2>&1 | FileCheck --check-prefixes=CHECK-POSTDOM %s

; Demonstrate that Predicate Canonicalization (InstCombine) does not invalidate PostDomTree
; if the basic block is post-dom unreachable.

define void @test1(i24 %a, i24 %b) {
entry:
  br label %LOOP

LOOP:
  %f = icmp uge i24 %a, %b
  br i1 %f, label %B1, label %B2

B1:
  %x = add i24 %a, %b
  br label %B2

B2:
  br label %LOOP
}

; The same as @test1 except the LOOP condition canonicalized (as by instcombine).
define void @test1-canonicalized(i24 %a, i24 %b) {
entry:
  br label %LOOP

LOOP:
  %f.not = icmp ult i24 %a, %b
  br i1 %f.not, label %B2, label %B1

B1:
  %x = add i24 %a, %b
  br label %B2

B2:
  br label %LOOP
}

; The same as @test1 but different order of B1 and B2 in the function.
; The different order makes PostDomTree different in presense of postdom
; unreachable blocks.
define void @test2(i24 %a, i24 %b) {
entry:
  br label %LOOP

LOOP:
  %f = icmp uge i24 %a, %b
  br i1 %f, label %B1, label %B2

B2:
  br label %LOOP

B1:
  %x = add i24 %a, %b
  br label %B2
}

; The same as @test2 except the LOOP condition canonicalized (as by instcombine).
define void @test2-canonicalized(i24 %a, i24 %b) {
entry:
  br label %LOOP

LOOP:
  %f.not = icmp ult i24 %a, %b
  br i1 %f.not, label %B2, label %B1

B2:
  br label %LOOP

B1:
  %x = add i24 %a, %b
  br label %B2
}

; Two reverse unreachable subgraphs with RU1* and RU2* basic blocks respectively.
define void @test3(i24 %a, i24 %b, i32 %flag) {
entry:
  switch i32 %flag, label %EXIT [
    i32 1, label %RU1
    i32 2, label %RU2
    i32 3, label %RU2_B1
  ]

RU1:
  %f = icmp uge i24 %a, %b
  br label %RU1_LOOP

RU1_LOOP:
  br i1 %f, label %RU1_B1, label %RU1_B2

RU1_B1:
  %x = add i24 %a, %b
  br label %RU1_B2

RU1_B2:
  br label %RU1_LOOP

RU2:
  %f2 = icmp uge i24 %a, %b
  br i1 %f2, label %RU2_B1, label %RU2_B2

RU2_B1:
  br label %RU2_B2

RU2_B2:
  br label %RU2_B1

EXIT:
  ret void
}

; The same as @test3 except the icmp conditions are canonicalized (as by instcombine).
define void @test3-canonicalized(i24 %a, i24 %b, i32 %flag) {
entry:
  switch i32 %flag, label %EXIT [
    i32 1, label %RU1
    i32 2, label %RU2
    i32 3, label %RU2_B1
  ]

RU1:
  %f.not = icmp ult i24 %a, %b
  br label %RU1_LOOP

RU1_LOOP:
  br i1 %f.not, label %RU1_B2, label %RU1_B1

RU1_B1:
  %x = add i24 %a, %b
  br label %RU1_B2

RU1_B2:
  br label %RU1_LOOP

RU2:
  %f2.not = icmp ult i24 %a, %b
  br i1 %f2.not, label %RU2_B2, label %RU2_B1

RU2_B1:
  br label %RU2_B2

RU2_B2:
  br label %RU2_B1

EXIT:
  ret void
}

; PostDomTrees of @test1(), @test2() and @test3() are different.
; PostDomTrees of @testX() and @testX-canonicalize() are the same.

; CHECK-POSTDOM-LABEL: test1
; CHECK-POSTDOM-NEXT: =============================--------------------------------
; CHECK-POSTDOM-NEXT: Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries.
; CHECK-POSTDOM-NEXT:   [1]  <<exit node>>
; CHECK-POSTDOM-NEXT:     [2] %B1
; CHECK-POSTDOM-NEXT:       [3] %LOOP
; CHECK-POSTDOM-NEXT:         [4] %entry
; CHECK-POSTDOM-NEXT:         [4] %B2
; CHECK-POSTDOM-NEXT: Roots: %B1

; CHECK-POSTDOM-LABEL: test1-canonicalized
; CHECK-POSTDOM-NEXT: =============================--------------------------------
; CHECK-POSTDOM-NEXT: Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries.
; CHECK-POSTDOM-NEXT:   [1]  <<exit node>>
; CHECK-POSTDOM-NEXT:     [2] %B1
; CHECK-POSTDOM-NEXT:       [3] %LOOP
; CHECK-POSTDOM-NEXT:         [4] %entry
; CHECK-POSTDOM-NEXT:         [4] %B2
; CHECK-POSTDOM-NEXT: Roots: %B1

; CHECK-POSTDOM-LABEL: test2
; CHECK-POSTDOM-NEXT: =============================--------------------------------
; CHECK-POSTDOM-NEXT: Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries.
; CHECK-POSTDOM-NEXT:   [1]  <<exit node>>
; CHECK-POSTDOM-NEXT:     [2] %B2
; CHECK-POSTDOM-NEXT:       [3] %LOOP
; CHECK-POSTDOM-NEXT:         [4] %entry
; CHECK-POSTDOM-NEXT:       [3] %B1
; CHECK-POSTDOM-NEXT: Roots: %B2

; CHECK-POSTDOM-LABEL: test2-canonicalized
; CHECK-POSTDOM-NEXT: =============================--------------------------------
; CHECK-POSTDOM-NEXT: Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries.
; CHECK-POSTDOM-NEXT:   [1]  <<exit node>>
; CHECK-POSTDOM-NEXT:     [2] %B2
; CHECK-POSTDOM-NEXT:       [3] %LOOP
; CHECK-POSTDOM-NEXT:         [4] %entry
; CHECK-POSTDOM-NEXT:       [3] %B1
; CHECK-POSTDOM-NEXT: Roots: %B2

; CHECK-POSTDOM-LABEL: test3
; CHECK-POSTDOM-NEXT:=============================--------------------------------
; CHECK-POSTDOM-NEXT:Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries.
; CHECK-POSTDOM-NEXT:  [1]  <<exit node>>
; CHECK-POSTDOM-NEXT:    [2] %EXIT
; CHECK-POSTDOM-NEXT:    [2] %entry
; CHECK-POSTDOM-NEXT:    [2] %RU1_B1
; CHECK-POSTDOM-NEXT:      [3] %RU1_LOOP
; CHECK-POSTDOM-NEXT:        [4] %RU1
; CHECK-POSTDOM-NEXT:        [4] %RU1_B2
; CHECK-POSTDOM-NEXT:    [2] %RU2_B1
; CHECK-POSTDOM-NEXT:      [3] %RU2
; CHECK-POSTDOM-NEXT:      [3] %RU2_B2
; CHECK-POSTDOM-NEXT:Roots: %EXIT %RU1_B1 %RU2_B1

; CHECK-POSTDOM-LABEL: test3-canonicalized
; CHECK-POSTDOM-NEXT:=============================--------------------------------
; CHECK-POSTDOM-NEXT:Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries.
; CHECK-POSTDOM-NEXT:  [1]  <<exit node>>
; CHECK-POSTDOM-NEXT:    [2] %EXIT
; CHECK-POSTDOM-NEXT:    [2] %entry
; CHECK-POSTDOM-NEXT:    [2] %RU1_B1
; CHECK-POSTDOM-NEXT:      [3] %RU1_LOOP
; CHECK-POSTDOM-NEXT:        [4] %RU1
; CHECK-POSTDOM-NEXT:        [4] %RU1_B2
; CHECK-POSTDOM-NEXT:    [2] %RU2_B1
; CHECK-POSTDOM-NEXT:      [3] %RU2
; CHECK-POSTDOM-NEXT:      [3] %RU2_B2
; CHECK-POSTDOM-NEXT:Roots: %EXIT %RU1_B1 %RU2_B1
