RegionInfo: add new test case

This test case has been reduced from test/Analysis/RegionInfo/mix_1.ll and
provides us with a minimal example of a test case which caused problems while
working on an improved version of the RegionInfo analysis. We upstream this
test case, as it certainly can be helpful in future debugging and optimization
tests.

Test case reduced by Pratik Bhatu <cs12b1010@iith.ac.in>

llvm-svn: 290974
This commit is contained in:
Tobias Grosser 2017-01-04 17:50:15 +00:00
parent 5bf0416f45
commit 8ab80ba3a2
1 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,42 @@
; REQUIRES: asserts
; RUN: opt -regions -analyze < %s | FileCheck %s
; While working on improvements to the region info analysis, this test
; case caused an incorrect region 3 => 8 to be detected.
define internal i8 @wibble() {
bb:
br i1 true, label %bb1, label %bb8
bb1: ; preds = %bb
switch i32 0, label %bb2 [
i32 0, label %bb3
i32 1, label %bb7
]
bb2: ; preds = %bb1
br label %bb4
bb3: ; preds = %bb1
br label %bb5
bb4: ; preds = %bb2
br label %bb6
bb5: ; preds = %bb3
br label %bb6
bb6: ; preds = %bb5, %bb4
br label %bb7
bb7: ; preds = %bb6, %bb1
br label %bb8
bb8: ; preds = %bb7, %bb
ret i8 1
}
; CHECK: [0] bb => <Function Return>
; CHECK-NEXT: [1] bb => bb8
; CHECK-NEXT: [2] bb1 => bb7