summaryrefslogtreecommitdiffstats
path: root/llvm/test/Feature/cfgstructures.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-11-26 19:16:37 +0000
committerChris Lattner <sabre@nondot.org>2001-11-26 19:16:37 +0000
commit275cb9ec1f753557b21d986ad788417f04b101cb (patch)
treeeaa567be3fd0554c56f9c728f4577044ad370fac /llvm/test/Feature/cfgstructures.ll
parent88a8ddae84fa9570fc912861862df42973bb6218 (diff)
downloadbcm5719-llvm-275cb9ec1f753557b21d986ad788417f04b101cb.tar.gz
bcm5719-llvm-275cb9ec1f753557b21d986ad788417f04b101cb.zip
Rename irreducible to cfgstructures.ll Include other interesting structures
llvm-svn: 1387
Diffstat (limited to 'llvm/test/Feature/cfgstructures.ll')
-rw-r--r--llvm/test/Feature/cfgstructures.ll53
1 files changed, 53 insertions, 0 deletions
diff --git a/llvm/test/Feature/cfgstructures.ll b/llvm/test/Feature/cfgstructures.ll
new file mode 100644
index 00000000000..a28dfb3d70e
--- /dev/null
+++ b/llvm/test/Feature/cfgstructures.ll
@@ -0,0 +1,53 @@
+implementation
+
+;; This is an irreducible flow graph
+
+
+void "irreducible"(bool %cond)
+begin
+ br bool %cond, label %X, label %Y
+
+X:
+ br label %Y
+Y:
+ br label %X
+end
+
+;; This is a pair of loops that share the same header
+
+void "sharedheader"(bool %cond)
+begin
+ br label %A
+A:
+ br bool %cond, label %X, label %Y
+
+X:
+ br label %A
+Y:
+ br label %A
+end
+
+;; This is a simple nested loop
+void "nested"(bool %cond1, bool %cond2, bool %cond3)
+begin
+ br label %Loop1
+
+Loop1:
+ br label %Loop2
+
+Loop2:
+ br label %Loop3
+
+Loop3:
+ br bool %cond3, label %Loop3, label %L3Exit
+
+L3Exit:
+ br bool %cond2, label %Loop2, label %L2Exit
+
+L2Exit:
+ br bool %cond1, label %Loop1, label %L1Exit
+
+L1Exit:
+ ret void
+end
+
OpenPOWER on IntegriCloud