blob: 5796b8614dbdeda9e1f95e52a7521b6122572f09 [file] [log] [blame]
Jakub Kuderski638c0852017-08-15 18:14:57 +00001; RUN: opt < %s -postdomtree -analyze | FileCheck %s
2; RUN: opt < %s -passes='print<postdomtree>' 2>&1 | FileCheck %s
3
4@a = external global i32, align 4
5
6define void @fn1() {
7entry:
8 store i32 5, i32* @a, align 4
9 %call = call i32 (...) @foo()
10 %tobool = icmp ne i32 %call, 0
11 br i1 %tobool, label %if.then, label %if.end
12
13if.then: ; preds = %entry
14 br label %loop
15
16loop: ; preds = %loop, %if.then
17 br label %loop
18
19if.end: ; preds = %entry
20 store i32 6, i32* @a, align 4
21 ret void
22}
23
24declare i32 @foo(...)
25
26; CHECK: Inorder PostDominator Tree:
27; CHECK-NEXT: [1] <<exit node>>
28; CHECK: [2] %loop
29; CHECK-NEXT: [3] %if.then
30; CHECK: Roots: %if.end %loop