diff options
| author | Chris Lattner <sabre@nondot.org> | 2004-12-10 17:41:43 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2004-12-10 17:41:43 +0000 |
| commit | 88bd77c73d110cf67ffaacebd0e5ef7c3fe23e4c (patch) | |
| tree | 0edc761bf1490a6126625020ffeb9381c00cfe6e /llvm/test/Regression/Transforms/SimplifyCFG | |
| parent | 7c0241ce9b2d30f3fc5172fb853ec387ab46030f (diff) | |
| download | bcm5719-llvm-88bd77c73d110cf67ffaacebd0e5ef7c3fe23e4c.tar.gz bcm5719-llvm-88bd77c73d110cf67ffaacebd0e5ef7c3fe23e4c.zip | |
New testcase for a bug exposed by the ipsccp pass, causing dparser to fail
last night.
llvm-svn: 18765
Diffstat (limited to 'llvm/test/Regression/Transforms/SimplifyCFG')
| -rw-r--r-- | llvm/test/Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll new file mode 100644 index 00000000000..2ac2dace3af --- /dev/null +++ b/llvm/test/Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll @@ -0,0 +1,62 @@ +target endian = little +target pointersize = 32 + %struct.D_Sym = type { sbyte*, int, uint, %struct.D_Sym*, %struct.D_Sym*, uint } + %struct.D_SymHash = type { int, int, { uint, uint, %struct.D_Sym**, [3 x %struct.D_Sym*] } } + +implementation ; Functions: + +void %symhash_add() { +entry: + br bool undef, label %then.0, label %UnifiedReturnBlock + +then.0: ; preds = %entry + br bool undef, label %loopentry.2, label %loopentry.1.preheader + +loopentry.1.preheader: ; preds = %then.0 + br label %loopentry.1.outer + +loopentry.1.outer: ; preds = %loopentry.1.preheader, %loopexit.1 + br label %loopentry.1 + +loopentry.1: ; preds = %loopentry.1.outer, %then.1, %then.3, %then.4, %endif.1 + br bool undef, label %loopexit.1, label %no_exit.1 + +no_exit.1: ; preds = %loopentry.1 + br bool undef, label %then.1, label %else.0 + +then.1: ; preds = %no_exit.1 + br label %loopentry.1 + +else.0: ; preds = %no_exit.1 + br bool undef, label %then.2, label %else.1 + +then.2: ; preds = %else.0 + br bool undef, label %then.3, label %endif.1 + +then.3: ; preds = %then.2 + br label %loopentry.1 + +else.1: ; preds = %else.0 + br bool undef, label %endif.1, label %then.4 + +then.4: ; preds = %else.1 + br label %loopentry.1 + +endif.1: ; preds = %then.2, %else.1 + br label %loopentry.1 + +loopexit.1: ; preds = %loopentry.1 + br bool undef, label %loopentry.1.outer, label %loopentry.2 + +loopentry.2: ; preds = %then.0, %loopexit.1, %no_exit.2 + br bool undef, label %loopexit.2, label %no_exit.2 + +no_exit.2: ; preds = %loopentry.2 + br label %loopentry.2 + +loopexit.2: ; preds = %loopentry.2 + ret void + +UnifiedReturnBlock: ; preds = %entry + ret void +} |

