Move a DenseMap's declaration outside of a loop, and just call
[oota-llvm.git] / test / Transforms / InstCombine / 2006-02-07-SextZextCrash.ll
1 ; RUN: llvm-as < %s | opt -instcombine -disable-output  
2
3         %struct.rtx_const = type { i32, { %union.real_extract } }
4         %struct.rtx_def = type { i32, [1 x %union.rtunion_def] }
5         %union.real_extract = type { double }
6         %union.rtunion_def = type { i32 }
7
8 define fastcc void @decode_rtx_const(%struct.rtx_def* %x, %struct.rtx_const* %value) {
9         %tmp.54 = getelementptr %struct.rtx_const* %value, i32 0, i32 0         ; <i32*> [#uses=1]
10         %tmp.56 = getelementptr %struct.rtx_def* %x, i32 0, i32 0               ; <i32*> [#uses=1]
11         %tmp.57 = load i32* %tmp.56             ; <i32> [#uses=1]
12         %tmp.58 = shl i32 %tmp.57, 8            ; <i32> [#uses=1]
13         %tmp.59 = ashr i32 %tmp.58, 24          ; <i32> [#uses=1]
14         %tmp.60 = trunc i32 %tmp.59 to i16              ; <i16> [#uses=1]
15         %tmp.61 = zext i16 %tmp.60 to i32               ; <i32> [#uses=1]
16         %tmp.62 = shl i32 %tmp.61, 16           ; <i32> [#uses=1]
17         %tmp.65 = or i32 0, %tmp.62             ; <i32> [#uses=1]
18         store i32 %tmp.65, i32* %tmp.54
19         ret void
20 }
21