[llvm] r290974 - RegionInfo: add new test case

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 4 09:50:15 PST 2017


Author: grosser
Date: Wed Jan  4 11:50:15 2017
New Revision: 290974

URL: http://llvm.org/viewvc/llvm-project?rev=290974&view=rev
Log:
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 at iith.ac.in>

Added:
    llvm/trunk/test/Analysis/RegionInfo/bad_node_traversal.ll

Added: llvm/trunk/test/Analysis/RegionInfo/bad_node_traversal.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/RegionInfo/bad_node_traversal.ll?rev=290974&view=auto
==============================================================================
--- llvm/trunk/test/Analysis/RegionInfo/bad_node_traversal.ll (added)
+++ llvm/trunk/test/Analysis/RegionInfo/bad_node_traversal.ll Wed Jan  4 11:50:15 2017
@@ -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
+




More information about the llvm-commits mailing list