brintos

brintos / llvm-project-archived public Read only

0
0
Text · 866 B · e0f9054 Raw
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