; RUN: opt < %s -passes='print' 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 br label %loop loop: ; preds = %loop, %if.then %0 = load i32, ptr @a, align 4 call void @bar(i32 %0) br label %loop 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] <> ; CHECK: [2] %loop ; CHECK-NEXT: [3] %if.then ; CHECK: Roots: %if.end %loop