; RUN: opt < %s -passes='print<postdomtree>' 2>&1 | FileCheck %s

@a = external global i32, align 4

define void @fn1() {
entry:
  store i32 5, ptr @a, align 4
  %call = call i32 (...) @foo()
  %tobool = icmp ne i32 %call, 0
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry, %loop
  br label %loop

loop:                                             ; preds = %loop, %if.then
  %0 = load i32, ptr @a, align 4
  call void @bar(i32 %0)
  br i1 true, label %loop, label %if.then

if.end:                                           ; preds = %entry
  store i32 6, ptr @a, align 4
  ret void
}

declare i32 @foo(...)
declare void @bar(i32)


; CHECK:      Inorder PostDominator Tree:
; CHECK-NEXT:  [1]  <<exit node>>
; CHECK:         [2] %loop
; CHECK-NEXT:      [3] %if.then
; CHECK: Roots: %if.end %loop
