summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/RegionInfo/bad_node_traversal.ll
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2017-01-04 17:50:15 +0000
committerTobias Grosser <tobias@grosser.es>2017-01-04 17:50:15 +0000
commit8ab80ba3a2ad60dd5812b680760cc404a183f76b (patch)
treeca860372461aeff53434603dca9f0cc87c6dac4e /llvm/test/Analysis/RegionInfo/bad_node_traversal.ll
parent5bf0416f459cb957fa6098f4ec148e8ae26c2704 (diff)
downloadbcm5719-llvm-8ab80ba3a2ad60dd5812b680760cc404a183f76b.tar.gz
bcm5719-llvm-8ab80ba3a2ad60dd5812b680760cc404a183f76b.zip
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
Diffstat (limited to 'llvm/test/Analysis/RegionInfo/bad_node_traversal.ll')
-rw-r--r--llvm/test/Analysis/RegionInfo/bad_node_traversal.ll42
1 files changed, 42 insertions, 0 deletions
diff --git a/llvm/test/Analysis/RegionInfo/bad_node_traversal.ll b/llvm/test/Analysis/RegionInfo/bad_node_traversal.ll
new file mode 100644
index 00000000000..e35c29b8ca1
--- /dev/null
+++ b/llvm/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 => <Function Return>
+; CHECK-NEXT: [1] bb => bb8
+; CHECK-NEXT: [2] bb1 => bb7
+
OpenPOWER on IntegriCloud