From: Tobias Grosser Date: Wed, 4 Jan 2017 17:50:15 +0000 (+0000) Subject: RegionInfo: add new test case X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5f405a9704da234a2a554ec18f387fb565aada49;p=llvm 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290974 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Analysis/RegionInfo/bad_node_traversal.ll b/test/Analysis/RegionInfo/bad_node_traversal.ll new file mode 100644 index 00000000000..e35c29b8ca1 --- /dev/null +++ b/test/Analysis/RegionInfo/bad_node_traversal.ll @@ -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 => +; CHECK-NEXT: [1] bb => bb8 +; CHECK-NEXT: [2] bb1 => bb7 +