Changes in directory llvm/test/Regression/Transforms/Mem2Reg:
2005-11-28-Crash.ll added (r1.1) --- Log message: new testcase for pr670: http://llvm.cs.uiuc.edu/PR670 --- Diffs of the changes: (+88 -0) 2005-11-28-Crash.ll | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 88 insertions(+) Index: llvm/test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll diff -c /dev/null llvm/test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll:1.1 *** /dev/null Mon Nov 28 19:07:01 2005 --- llvm/test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll Mon Nov 28 19:06:51 2005 *************** *** 0 **** --- 1,88 ---- + ; RUN: llvm-as < %s | opt -mem2reg -disable-output + ; PR670 + + void %printk(int, ...) { + entry: + %flags = alloca uint ; <uint*> [#uses=2] + br bool false, label %then.0, label %endif.0 + + then.0: ; preds = %entry + br label %endif.0 + + endif.0: ; preds = %then.0, %entry + store uint 0, uint* %flags + br label %loopentry + + loopentry: ; preds = %endif.3, %endif.0 + br bool false, label %no_exit, label %loopexit + + no_exit: ; preds = %loopentry + br bool false, label %then.1, label %endif.1 + + then.1: ; preds = %no_exit + br bool false, label %shortcirc_done.0, label %shortcirc_next.0 + + shortcirc_next.0: ; preds = %then.1 + br label %shortcirc_done.0 + + shortcirc_done.0: ; preds = %shortcirc_next.0, %then.1 + br bool false, label %shortcirc_done.1, label %shortcirc_next.1 + + shortcirc_next.1: ; preds = %shortcirc_done.0 + br label %shortcirc_done.1 + + shortcirc_done.1: ; preds = %shortcirc_next.1, %shortcirc_done.0 + br bool false, label %shortcirc_done.2, label %shortcirc_next.2 + + shortcirc_next.2: ; preds = %shortcirc_done.1 + br label %shortcirc_done.2 + + shortcirc_done.2: ; preds = %shortcirc_next.2, %shortcirc_done.1 + br bool false, label %then.2, label %endif.2 + + then.2: ; preds = %shortcirc_done.2 + br label %endif.2 + + endif.2: ; preds = %then.2, %shortcirc_done.2 + br label %endif.1 + + endif.1: ; preds = %endif.2, %no_exit + br bool false, label %then.3, label %endif.3 + + then.3: ; preds = %endif.1 + br label %endif.3 + + endif.3: ; preds = %then.3, %endif.1 + br label %loopentry + + loopexit: ; preds = %loopentry + br label %endif.4 + + then.4: ; No predecessors! + %tmp.61 = load uint* %flags ; <uint> [#uses=0] + br label %out + + dead_block_after_goto: ; No predecessors! + br label %endif.4 + + endif.4: ; preds = %dead_block_after_goto, %loopexit + br bool false, label %then.5, label %else + + then.5: ; preds = %endif.4 + br label %endif.5 + + else: ; preds = %endif.4 + br label %endif.5 + + endif.5: ; preds = %else, %then.5 + br label %out + + out: ; preds = %endif.5, %then.4 + br label %return + + after_ret: ; No predecessors! + br label %return + + return: ; preds = %after_ret, %out + ret void + } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits