diff options
Diffstat (limited to 'test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll')
-rw-r--r-- | test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll b/test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll new file mode 100644 index 0000000..fafe73b --- /dev/null +++ b/test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll @@ -0,0 +1,40 @@ +; RUN: opt < %s -simplifycfg -disable-output + +define void @symhash_add() { +entry: + br i1 undef, label %then.0, label %UnifiedReturnBlock +then.0: ; preds = %entry + br i1 undef, label %loopentry.2, label %loopentry.1.preheader +loopentry.1.preheader: ; preds = %then.0 + br label %loopentry.1.outer +loopentry.1.outer: ; preds = %loopexit.1, %loopentry.1.preheader + br label %loopentry.1 +loopentry.1: ; preds = %endif.1, %then.4, %then.3, %then.1, %loopentry.1.outer + br i1 undef, label %loopexit.1, label %no_exit.1 +no_exit.1: ; preds = %loopentry.1 + br i1 undef, label %then.1, label %else.0 +then.1: ; preds = %no_exit.1 + br label %loopentry.1 +else.0: ; preds = %no_exit.1 + br i1 undef, label %then.2, label %else.1 +then.2: ; preds = %else.0 + br i1 undef, label %then.3, label %endif.1 +then.3: ; preds = %then.2 + br label %loopentry.1 +else.1: ; preds = %else.0 + br i1 undef, label %endif.1, label %then.4 +then.4: ; preds = %else.1 + br label %loopentry.1 +endif.1: ; preds = %else.1, %then.2 + br label %loopentry.1 +loopexit.1: ; preds = %loopentry.1 + br i1 undef, label %loopentry.1.outer, label %loopentry.2 +loopentry.2: ; preds = %no_exit.2, %loopexit.1, %then.0 + br i1 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 +} |