[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