From: Tobias Grosser Date: Thu, 10 Nov 2016 13:56:19 +0000 (+0000) Subject: [RegionInfo] Add three tests that include infinite loops X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=541a4fd75dcb95d890084fec507af61c35b14fc6;p=llvm [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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286450 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Analysis/RegionInfo/infinite_loop_5_a.ll b/test/Analysis/RegionInfo/infinite_loop_5_a.ll new file mode 100644 index 00000000000..b0e52861b7c --- /dev/null +++ b/test/Analysis/RegionInfo/infinite_loop_5_a.ll @@ -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 => +; CHECK-NEXT: [1] 7 => 3 +; CHECK-NEXT: End region tree + diff --git a/test/Analysis/RegionInfo/infinite_loop_5_b.ll b/test/Analysis/RegionInfo/infinite_loop_5_b.ll new file mode 100644 index 00000000000..49580c9de3d --- /dev/null +++ b/test/Analysis/RegionInfo/infinite_loop_5_b.ll @@ -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 => +; CHECK-NEXT: [1] 7 => 3 +; CHECK-NEXT: End region tree diff --git a/test/Analysis/RegionInfo/infinite_loop_5_c.ll b/test/Analysis/RegionInfo/infinite_loop_5_c.ll new file mode 100644 index 00000000000..51b48c90b4a --- /dev/null +++ b/test/Analysis/RegionInfo/infinite_loop_5_c.ll @@ -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 => +; CHECK-NEXT: [1] 7 => 3 +; CHECK-NEXT: [2] 8 => 7