[dom] Add a basic dominator tree test.

Correct, we have *zero* basic testing of the dominator tree in the
regression test suite. There is a single test that even prints it out,
and that test only checks a single line of the output. There are
a handful of tests that check post dominators, but all of those are
looking for bugs rather than just exercising the basic machinery.

This test is super boring and unexciting. But hey, it's something.
I needed there to be something so I could switch the basic test to run
with both the old and new pass manager.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225936 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth 2015-01-14 03:34:55 +00:00
parent e928b4046a
commit d39ad60564

View File

@ -0,0 +1,57 @@
; RUN: opt < %s -domtree -analyze | FileCheck %s
define void @test1() {
; CHECK-LABEL: 'Dominator Tree Construction' 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-LABEL: 'Dominator Tree Construction' 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
}