Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and
[oota-llvm.git] / test / Transforms / LICM / 2006-09-12-DeadUserOfSunkInstr.ll
index fe69e5ed090a4c2cad6dbb03803e48d61e64c627..10cdb6d103a66623613e34081b94967944ec133b 100644 (file)
-; RUN: llvm-as < %s | opt -licm -disable-output
+; RUN: opt %s -licm -disable-output
 ; PR908
+; END.
 
-       %struct.alloc_chain = type { sbyte*, %struct.alloc_chain* }
-       %struct.oggpack_buffer = type { int, int, ubyte*, ubyte*, int }
-       %struct.vorbis_block = type { float**, %struct.oggpack_buffer, int, int, int, int, int, int, long, long, %struct.vorbis_dsp_state*, sbyte*, int, int, int, %struct.alloc_chain*, int, int, int, int, sbyte* }
-       %struct.vorbis_dsp_state = type { int, %struct.vorbis_info*, float**, float**, int, int, int, int, int, int, int, int, int, long, long, long, long, long, long, sbyte* }
-       %struct.vorbis_info = type { int, int, int, int, int, int, int, sbyte* }
+       %struct.alloc_chain = type { i8*, %struct.alloc_chain* }
+       %struct.oggpack_buffer = type { i32, i32, i8*, i8*, i32 }
+       %struct.vorbis_block = type { float**, %struct.oggpack_buffer, i32, i32, i32, i32, i32, i32, i64, i64, %struct.vorbis_dsp_state*, i8*, i32, i32, i32, %struct.alloc_chain*, i32, i32, i32, i32, i8* }
+       %struct.vorbis_dsp_state = type { i32, %struct.vorbis_info*, float**, float**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8* }
+       %struct.vorbis_info = type { i32, i32, i32, i32, i32, i32, i32, i8* }
 
-implementation   ; Functions:
-
-fastcc void %_01forward() {
+define fastcc void @_01forward() {
 entry:
-       br bool false, label %bb222.preheader, label %bb241
-
+       br i1 false, label %bb222.preheader, label %bb241
 cond_true67:           ; preds = %cond_true87
        br label %cond_next80
-
 cond_next80:           ; preds = %cond_true87, %cond_true67
        br label %bb83
-
 bb83.preheader:                ; preds = %cond_true226
-       br bool false, label %bb83.us.preheader, label %bb83.preheader1
-
+       br i1 false, label %bb83.us.preheader, label %bb83.preheader1
 bb83.us.preheader:             ; preds = %bb83.preheader
        br label %bb83.us
-
 bb83.us:               ; preds = %cond_next80.us, %bb83.us.preheader
-       br bool false, label %cond_true87.us, label %cond_next92.loopexit2
-
+       br i1 false, label %cond_true87.us, label %cond_next92.loopexit2
 cond_next80.us:                ; preds = %bb59.loopexit.us, %cond_true67.us
        br label %bb83.us
-
 cond_true67.us:                ; preds = %bb59.loopexit.us
        br label %cond_next80.us
-
 cond_next.us:          ; preds = %cond_true56.us, %cond_true38.us
-       br bool false, label %cond_true56.us, label %bb59.loopexit.us
-
+       br i1 false, label %cond_true56.us, label %bb59.loopexit.us
 cond_true38.us:                ; preds = %cond_true56.us
        br label %cond_next.us
-
 cond_true56.us:                ; preds = %cond_true87.us, %cond_next.us
-       br bool false, label %cond_true38.us, label %cond_next.us
-
+       br i1 false, label %cond_true38.us, label %cond_next.us
 cond_true87.us:                ; preds = %bb83.us
        br label %cond_true56.us
-
 bb59.loopexit.us:              ; preds = %cond_next.us
-       br bool false, label %cond_true67.us, label %cond_next80.us
-
+       br i1 false, label %cond_true67.us, label %cond_next80.us
 bb83.preheader1:               ; preds = %bb83.preheader
        br label %bb83
-
 bb83:          ; preds = %bb83.preheader1, %cond_next80
-       br bool false, label %cond_next92.loopexit, label %cond_true87
-
+       br i1 false, label %cond_next92.loopexit, label %cond_true87
 cond_true87:           ; preds = %bb83
-       br bool false, label %cond_true67, label %cond_next80
-
+       br i1 false, label %cond_true67, label %cond_next80
 cond_next92.loopexit:          ; preds = %bb83
        br label %cond_next92
-
 cond_next92.loopexit2:         ; preds = %bb83.us
        br label %cond_next92
-
 cond_next92:           ; preds = %cond_true226, %cond_next92.loopexit2, %cond_next92.loopexit
-       br bool false, label %cond_true218.loopexit, label %bb222
-
+       br i1 false, label %cond_true218.loopexit, label %bb222
 cond_true139:          ; preds = %cond_true202
-       br bool false, label %cond_next195, label %cond_true155
-
+       br i1 false, label %cond_next195, label %cond_true155
 cond_true155:          ; preds = %cond_true139
-       br bool false, label %cond_true249.i.preheader, label %_encodepart.exit
-
+       br i1 false, label %cond_true249.i.preheader, label %_encodepart.exit
 cond_true.i:           ; preds = %cond_true115.i
-       br bool false, label %bb60.i.preheader, label %cond_next97.i
-
+       br i1 false, label %bb60.i.preheader, label %cond_next97.i
 bb60.i.preheader:              ; preds = %cond_true.i
        br label %bb60.i
-
 bb60.i:                ; preds = %cond_true63.i, %bb60.i.preheader
-       br bool false, label %cond_true63.i, label %cond_next97.i.loopexit
-
+       br i1 false, label %cond_true63.i, label %cond_next97.i.loopexit
 cond_true63.i:         ; preds = %bb60.i
-       br bool false, label %bb60.i, label %cond_next97.i.loopexit
-
+       br i1 false, label %bb60.i, label %cond_next97.i.loopexit
 bb86.i.preheader:              ; preds = %cond_true115.i
        br label %bb86.i
-
 bb86.i:                ; preds = %cond_true93.i, %bb86.i.preheader
-       br bool false, label %cond_true93.i, label %cond_next97.i.loopexit3
-
+       br i1 false, label %cond_true93.i, label %cond_next97.i.loopexit3
 cond_true93.i:         ; preds = %bb86.i
-       br bool false, label %cond_next97.i.loopexit3, label %bb86.i
-
+       br i1 false, label %cond_next97.i.loopexit3, label %bb86.i
 cond_next97.i.loopexit:                ; preds = %cond_true63.i, %bb60.i
        br label %cond_next97.i
-
 cond_next97.i.loopexit3:               ; preds = %cond_true93.i, %bb86.i
        br label %cond_next97.i
-
 cond_next97.i:         ; preds = %cond_next97.i.loopexit3, %cond_next97.i.loopexit, %cond_true.i
-       br bool false, label %bb118.i.loopexit, label %cond_true115.i
-
+       br i1 false, label %bb118.i.loopexit, label %cond_true115.i
 cond_true115.i.preheader:              ; preds = %cond_true249.i
        br label %cond_true115.i
-
 cond_true115.i:                ; preds = %cond_true115.i.preheader, %cond_next97.i
-       br bool false, label %cond_true.i, label %bb86.i.preheader
-
+       br i1 false, label %cond_true.i, label %bb86.i.preheader
 bb118.i.loopexit:              ; preds = %cond_next97.i
        br label %bb118.i
-
 bb118.i:               ; preds = %cond_true249.i, %bb118.i.loopexit
-       br bool false, label %cond_next204.i, label %cond_true128.i
-
+       br i1 false, label %cond_next204.i, label %cond_true128.i
 cond_true128.i:                ; preds = %bb118.i
-       br bool false, label %cond_true199.i.preheader, label %cond_next204.i
-
+       br i1 false, label %cond_true199.i.preheader, label %cond_next204.i
 cond_true199.i.preheader:              ; preds = %cond_true128.i
        br label %cond_true199.i
-
 cond_true199.i.us:             ; No predecessors!
-       br bool false, label %cond_true167.i.us, label %cond_next187.i.us
-
+       br i1 false, label %cond_true167.i.us, label %cond_next187.i.us
 cond_next187.i.us:             ; preds = %bb170.i.loopexit.us, %bb170.i.us.cond_next187.i.us_crit_edge, %cond_true199.i.us
        unreachable
-
 bb170.i.us.cond_next187.i.us_crit_edge:                ; preds = %bb170.i.loopexit.us
        br label %cond_next187.i.us
-
 cond_true167.i.us:             ; preds = %cond_true167.i.us, %cond_true199.i.us
-       br bool false, label %cond_true167.i.us, label %bb170.i.loopexit.us
-
+       br i1 false, label %cond_true167.i.us, label %bb170.i.loopexit.us
 bb170.i.loopexit.us:           ; preds = %cond_true167.i.us
-       br bool false, label %cond_next187.i.us, label %bb170.i.us.cond_next187.i.us_crit_edge
-
+       br i1 false, label %cond_next187.i.us, label %bb170.i.us.cond_next187.i.us_crit_edge
 cond_true199.i:                ; preds = %cond_true199.i, %cond_true199.i.preheader
-       br bool false, label %cond_next204.i.loopexit, label %cond_true199.i
-
+       br i1 false, label %cond_next204.i.loopexit, label %cond_true199.i
 cond_next204.i.loopexit:               ; preds = %cond_true199.i
        br label %cond_next204.i
-
 cond_next204.i:                ; preds = %cond_next204.i.loopexit, %cond_true128.i, %bb118.i
        br label %bb233.i
-
 cond_true230.i:                ; No predecessors!
-       %exitcond155 = seteq uint 0, %tmp16.i           ; <bool> [#uses=0]
+       %exitcond155 = icmp eq i32 0, %tmp16.i          ; <i1> [#uses=0]
        unreachable
-
 bb233.i:               ; preds = %cond_next204.i
-       br bool false, label %_encodepart.exit.loopexit, label %cond_true249.i
-
+       br i1 false, label %_encodepart.exit.loopexit, label %cond_true249.i
 cond_true249.i.preheader:              ; preds = %cond_true155
        br label %cond_true249.i
-
 cond_true249.i:                ; preds = %cond_true249.i.preheader, %bb233.i
-       %tmp16.i = cast int 0 to uint           ; <uint> [#uses=1]
-       br bool false, label %cond_true115.i.preheader, label %bb118.i
-
+       %tmp16.i = bitcast i32 0 to i32         ; <i32> [#uses=1]
+       br i1 false, label %cond_true115.i.preheader, label %bb118.i
 _encodepart.exit.loopexit:             ; preds = %bb233.i
        br label %_encodepart.exit
-
 _encodepart.exit:              ; preds = %_encodepart.exit.loopexit, %cond_true155
        br label %cond_next195
-
 cond_next195:          ; preds = %cond_true202, %_encodepart.exit, %cond_true139
-       br bool false, label %bb205.loopexit, label %cond_true202
-
+       br i1 false, label %bb205.loopexit, label %cond_true202
 cond_true202.preheader:                ; preds = %cond_true218
        br label %cond_true202
-
 cond_true202:          ; preds = %cond_true202.preheader, %cond_next195
-       br bool false, label %cond_next195, label %cond_true139
-
+       br i1 false, label %cond_next195, label %cond_true139
 bb205.loopexit:                ; preds = %cond_next195
        br label %bb205
-
 bb205:         ; preds = %cond_true218, %bb205.loopexit
-       br bool false, label %cond_true218, label %bb222.outer105.loopexit
-
+       br i1 false, label %cond_true218, label %bb222.outer105.loopexit
 cond_true218.loopexit:         ; preds = %cond_next92
        br label %cond_true218
-
 cond_true218:          ; preds = %cond_true218.loopexit, %bb205
-       br bool false, label %cond_true202.preheader, label %bb205
-
+       br i1 false, label %cond_true202.preheader, label %bb205
 bb222.preheader:               ; preds = %entry
        br label %bb222.outer
-
 bb222.outer:           ; preds = %bb229, %bb222.preheader
        br label %bb222.outer105
-
 bb222.outer105.loopexit:               ; preds = %bb205
        br label %bb222.outer105
-
 bb222.outer105:                ; preds = %bb222.outer105.loopexit, %bb222.outer
        br label %bb222
-
 bb222:         ; preds = %bb222.outer105, %cond_next92
-       br bool false, label %cond_true226, label %bb229
-
+       br i1 false, label %cond_true226, label %bb229
 cond_true226:          ; preds = %bb222
-       br bool false, label %bb83.preheader, label %cond_next92
-
+       br i1 false, label %bb83.preheader, label %cond_next92
 bb229:         ; preds = %bb222
-       br bool false, label %bb222.outer, label %bb241.loopexit
-
+       br i1 false, label %bb222.outer, label %bb241.loopexit
 bb241.loopexit:                ; preds = %bb229
        br label %bb241
-
 bb241:         ; preds = %bb241.loopexit, %entry
        ret void
 }