34 lines · plain
1; RUN: opt < %s -passes='print<postdomtree>' 2>&1 | FileCheck %s2 3@a = external global i32, align 44 5define void @fn1() {6entry:7 store i32 5, ptr @a, align 48 %call = call i32 (...) @foo()9 %tobool = icmp ne i32 %call, 010 br i1 %tobool, label %if.then, label %if.end11 12if.then: ; preds = %entry, %loop13 br label %loop14 15loop: ; preds = %loop, %if.then16 %0 = load i32, ptr @a, align 417 call void @bar(i32 %0)18 br i1 true, label %loop, label %if.then19 20if.end: ; preds = %entry21 store i32 6, ptr @a, align 422 ret void23}24 25declare i32 @foo(...)26declare void @bar(i32)27 28 29; CHECK: Inorder PostDominator Tree:30; CHECK-NEXT: [1] <<exit node>>31; CHECK: [2] %loop32; CHECK-NEXT: [3] %if.then33; CHECK: Roots: %if.end %loop34