Pull out this predicate loop into a helper function.
[oota-llvm.git] / test / Transforms / Mem2Reg / 2005-11-28-Crash.ll
index 1facf21dc7fc28e0a0a3c6f50725e3ee26d1a7de..a985db3eb8c71920aadf52468d11813e9e1ce2fc 100644 (file)
@@ -1,88 +1,62 @@
 ; RUN: llvm-as < %s | opt -mem2reg -disable-output
 ; PR670
 
-void %printk(int, ...) {
+define void @printk(i32, ...) {
 entry:
-       %flags = alloca uint            ; <uint*> [#uses=2]
-       br bool false, label %then.0, label %endif.0
-
+       %flags = alloca i32             ; <i32*> [#uses=2]
+       br i1 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
+       store i32 0, i32* %flags
        br label %loopentry
-
 loopentry:             ; preds = %endif.3, %endif.0
-       br bool false, label %no_exit, label %loopexit
-
+       br i1 false, label %no_exit, label %loopexit
 no_exit:               ; preds = %loopentry
-       br bool false, label %then.1, label %endif.1
-
+       br i1 false, label %then.1, label %endif.1
 then.1:                ; preds = %no_exit
-       br bool false, label %shortcirc_done.0, label %shortcirc_next.0
-
+       br i1 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
-
+       br i1 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
-
+       br i1 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
-
+       br i1 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
-
+       br i1 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]
+       %tmp.61 = load i32* %flags              ; <i32> [#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
-
+       br i1 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
 }