diff options
Diffstat (limited to 'test/Analysis/Dominators')
-rw-r--r-- | test/Analysis/Dominators/basic.ll | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/Analysis/Dominators/basic.ll b/test/Analysis/Dominators/basic.ll new file mode 100644 index 0000000..353c339 --- /dev/null +++ b/test/Analysis/Dominators/basic.ll @@ -0,0 +1,60 @@ +; RUN: opt < %s -domtree -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-OLDPM +; RUN: opt < %s -disable-output -passes='print<domtree>' 2>&1 | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-NEWPM + +define void @test1() { +; CHECK-OLDPM-LABEL: 'Dominator Tree Construction' for function 'test1': +; CHECK-NEWPM-LABEL: DominatorTree for function: test1 +; CHECK: [1] %entry +; CHECK-NEXT: [2] %a +; CHECK-NEXT: [2] %c +; CHECK-NEXT: [3] %d +; CHECK-NEXT: [3] %e +; CHECK-NEXT: [2] %b + +entry: + br i1 undef, label %a, label %b + +a: + br label %c + +b: + br label %c + +c: + br i1 undef, label %d, label %e + +d: + ret void + +e: + ret void +} + +define void @test2() { +; CHECK-OLDPM-LABEL: 'Dominator Tree Construction' for function 'test2': +; CHECK-NEWPM-LABEL: DominatorTree for function: test2 +; CHECK: [1] %entry +; CHECK-NEXT: [2] %a +; CHECK-NEXT: [3] %b +; CHECK-NEXT: [4] %c +; CHECK-NEXT: [5] %d +; CHECK-NEXT: [5] %ret + +entry: + br label %a + +a: + br label %b + +b: + br i1 undef, label %a, label %c + +c: + br i1 undef, label %d, label %ret + +d: + br i1 undef, label %a, label %ret + +ret: + ret void +} |