[llvm-commits] CVS: llvm/test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll

Chris Lattner lattner at cs.uiuc.edu
Mon Nov 28 17:07:04 PST 2005



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
+ }






More information about the llvm-commits mailing list