[llvm] r286450 - [RegionInfo] Add three tests that include infinite loops

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 10 05:56:19 PST 2016


Author: grosser
Date: Thu Nov 10 07:56:19 2016
New Revision: 286450

URL: http://llvm.org/viewvc/llvm-project?rev=286450&view=rev
Log:
[RegionInfo] Add three tests that include infinite loops

These examples are variations that were inspired from a small subgraph taken
from paper.ll which are interesting as they show certain issues with infinite
loops.

Added:
    llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_a.ll
    llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_b.ll
    llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_c.ll

Added: llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_a.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_a.ll?rev=286450&view=auto
==============================================================================
--- llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_a.ll (added)
+++ llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_a.ll Thu Nov 10 07:56:19 2016
@@ -0,0 +1,24 @@
+; RUN: opt -regions -analyze < %s | FileCheck %s
+
+define void @normal_condition() nounwind {
+0:
+    br label %"7"
+7:
+    br i1 1, label %"1", label %"8"
+1:
+    br i1 1, label %"6", label %"3"
+6:
+    br label %"8"
+8:
+    br label %"8"
+3:
+    br label %"4"
+4:
+    ret void
+}
+
+; CHECK:      Region tree:
+; CHECK-NEXT: [0] 0 => <Function Return>
+; CHECK-NEXT:   [1] 7 => 3
+; CHECK-NEXT: End region tree
+

Added: llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_b.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_b.ll?rev=286450&view=auto
==============================================================================
--- llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_b.ll (added)
+++ llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_b.ll Thu Nov 10 07:56:19 2016
@@ -0,0 +1,25 @@
+; RUN: opt -regions -analyze < %s | FileCheck %s
+
+define void @normal_condition() nounwind {
+0:
+    br label %"7"
+7:
+    br i1 1, label %"1", label %"9"
+9:
+    br label %"8"
+1:
+    br i1 1, label %"6", label %"3"
+6:
+    br label %"9"
+8:
+    br label %"8"
+3:
+    br label %"4"
+4:
+    ret void
+}
+
+; CHECK:      Region tree:
+; CHECK-NEXT: [0] 0 => <Function Return>
+; CHECK-NEXT:   [1] 7 => 3
+; CHECK-NEXT: End region tree

Added: llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_c.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_c.ll?rev=286450&view=auto
==============================================================================
--- llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_c.ll (added)
+++ llvm/trunk/test/Analysis/RegionInfo/infinite_loop_5_c.ll Thu Nov 10 07:56:19 2016
@@ -0,0 +1,22 @@
+; RUN: opt -regions -analyze < %s | FileCheck %s
+
+define void @normal_condition() nounwind {
+0:
+    br label %"7"
+7:
+    br i1 1, label %"1", label %"8"
+1:
+    br i1 1, label %"6", label %"3"
+6:
+    br label %"8"
+8:
+    br i1 1, label %"8", label %"7"
+3:
+    br label %"4"
+4:
+    ret void
+}
+
+; CHECK:      [0] 0 => <Function Return>
+; CHECK-NEXT:   [1] 7 => 3
+; CHECK-NEXT:     [2] 8 => 7




More information about the llvm-commits mailing list