diff options
| author | Chris Lattner <sabre@nondot.org> | 2001-11-26 19:16:37 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2001-11-26 19:16:37 +0000 |
| commit | 275cb9ec1f753557b21d986ad788417f04b101cb (patch) | |
| tree | eaa567be3fd0554c56f9c728f4577044ad370fac /llvm/test/Feature/cfgstructures.ll | |
| parent | 88a8ddae84fa9570fc912861862df42973bb6218 (diff) | |
| download | bcm5719-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.ll | 53 |
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 + |

