Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=arm-apple-darwin |
Evan Cheng | b0a6f62 | 2008-05-20 08:10:37 +0000 | [diff] [blame] | 2 | |
| 3 | %struct.BiContextType = type { i16, i8, i32 } |
| 4 | %struct.Bitstream = type { i32, i32, i8, i32, i32, i8, i8, i32, i32, i8*, i32 } |
| 5 | %struct.DataPartition = type { %struct.Bitstream*, %struct.EncodingEnvironment, %struct.EncodingEnvironment } |
| 6 | %struct.DecRefPicMarking_t = type { i32, i32, i32, i32, i32, %struct.DecRefPicMarking_t* } |
| 7 | %struct.EncodingEnvironment = type { i32, i32, i32, i32, i32, i8*, i32*, i32, i32 } |
| 8 | %struct.ImageParameters = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8**, i8**, i32, i32***, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [9 x [16 x [16 x i16]]], [5 x [16 x [16 x i16]]], [9 x [8 x [8 x i16]]], [2 x [4 x [16 x [16 x i16]]]], [16 x [16 x i16]], [16 x [16 x i32]], i32****, i32***, i32***, i32***, i32****, i32****, %struct.Picture*, %struct.Slice*, %struct.Macroblock*, i32*, i32*, i32, i32, i32, i32, [4 x [4 x i32]], i32, i32, i32, i32, i32, double, i32, i32, i32, i32, i16******, i16******, i16******, i16******, [15 x i16], i32, i32, i32, i32, i32, i32, i32, i32, [6 x [32 x i32]], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [1 x i32], i32, i32, [2 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.DecRefPicMarking_t*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double**, double***, i32***, double**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [3 x [2 x i32]], [2 x i32], i32, i32, i16, i32, i32, i32, i32, i32 } |
| 9 | %struct.Macroblock = type { i32, i32, i32, [2 x i32], i32, [8 x i32], %struct.Macroblock*, %struct.Macroblock*, i32, [2 x [4 x [4 x [2 x i32]]]], [16 x i8], [16 x i8], i32, i64, [4 x i32], [4 x i32], i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i16, double, i32, i32, i32, i32, i32, i32, i32, i32, i32 } |
| 10 | %struct.MotionInfoContexts = type { [3 x [11 x %struct.BiContextType]], [2 x [9 x %struct.BiContextType]], [2 x [10 x %struct.BiContextType]], [2 x [6 x %struct.BiContextType]], [4 x %struct.BiContextType], [4 x %struct.BiContextType], [3 x %struct.BiContextType] } |
| 11 | %struct.Picture = type { i32, i32, [100 x %struct.Slice*], i32, float, float, float } |
| 12 | %struct.Slice = type { i32, i32, i32, i32, i32, i32, %struct.DataPartition*, %struct.MotionInfoContexts*, %struct.TextureInfoContexts*, i32, i32*, i32*, i32*, i32, i32*, i32*, i32*, i32 (i32)*, [3 x [2 x i32]] } |
| 13 | %struct.TextureInfoContexts = type { [2 x %struct.BiContextType], [4 x %struct.BiContextType], [3 x [4 x %struct.BiContextType]], [10 x [4 x %struct.BiContextType]], [10 x [15 x %struct.BiContextType]], [10 x [15 x %struct.BiContextType]], [10 x [5 x %struct.BiContextType]], [10 x [5 x %struct.BiContextType]], [10 x [15 x %struct.BiContextType]], [10 x [15 x %struct.BiContextType]] } |
| 14 | @images = external global %struct.ImageParameters ; <%struct.ImageParameters*> [#uses=2] |
| 15 | |
| 16 | declare i8* @calloc(i32, i32) |
| 17 | |
| 18 | define fastcc void @init_global_buffers() nounwind { |
| 19 | entry: |
| 20 | %tmp50.i.i = mul i32 0, 0 ; <i32> [#uses=2] |
| 21 | br i1 false, label %init_orig_buffers.exit, label %cond_true.i29 |
| 22 | |
| 23 | cond_true.i29: ; preds = %entry |
| 24 | %tmp17.i = load i32* getelementptr (%struct.ImageParameters* @images, i32 0, i32 20), align 8 ; <i32> [#uses=1] |
| 25 | %tmp20.i27 = load i32* getelementptr (%struct.ImageParameters* @images, i32 0, i32 16), align 8 ; <i32> [#uses=1] |
| 26 | %tmp8.i.i = select i1 false, i32 1, i32 0 ; <i32> [#uses=1] |
| 27 | br label %bb.i8.us.i |
| 28 | |
| 29 | bb.i8.us.i: ; preds = %get_mem2Dpel.exit.i.us.i, %cond_true.i29 |
| 30 | %j.04.i.us.i = phi i32 [ %indvar.next39.i, %get_mem2Dpel.exit.i.us.i ], [ 0, %cond_true.i29 ] ; <i32> [#uses=2] |
| 31 | %tmp13.i.us.i = getelementptr i16*** null, i32 %j.04.i.us.i ; <i16***> [#uses=0] |
| 32 | %tmp15.i.i.us.i = tail call i8* @calloc( i32 0, i32 2 ) ; <i8*> [#uses=0] |
| 33 | store i16* null, i16** null, align 4 |
| 34 | br label %bb.i.i.us.i |
| 35 | |
| 36 | get_mem2Dpel.exit.i.us.i: ; preds = %bb.i.i.us.i |
| 37 | %indvar.next39.i = add i32 %j.04.i.us.i, 1 ; <i32> [#uses=2] |
| 38 | %exitcond40.i = icmp eq i32 %indvar.next39.i, 2 ; <i1> [#uses=1] |
| 39 | br i1 %exitcond40.i, label %get_mem3Dpel.exit.split.i, label %bb.i8.us.i |
| 40 | |
| 41 | bb.i.i.us.i: ; preds = %bb.i.i.us.i, %bb.i8.us.i |
| 42 | %exitcond.i = icmp eq i32 0, %tmp8.i.i ; <i1> [#uses=1] |
| 43 | br i1 %exitcond.i, label %get_mem2Dpel.exit.i.us.i, label %bb.i.i.us.i |
| 44 | |
| 45 | get_mem3Dpel.exit.split.i: ; preds = %get_mem2Dpel.exit.i.us.i |
| 46 | %tmp30.i.i = shl i32 %tmp17.i, 2 ; <i32> [#uses=1] |
| 47 | %tmp31.i.i = mul i32 %tmp30.i.i, %tmp20.i27 ; <i32> [#uses=1] |
| 48 | %tmp23.i31 = add i32 %tmp31.i.i, %tmp50.i.i ; <i32> [#uses=1] |
| 49 | br label %init_orig_buffers.exit |
| 50 | |
| 51 | init_orig_buffers.exit: ; preds = %get_mem3Dpel.exit.split.i, %entry |
| 52 | %memory_size.0.i = phi i32 [ %tmp23.i31, %get_mem3Dpel.exit.split.i ], [ %tmp50.i.i, %entry ] ; <i32> [#uses=1] |
| 53 | %tmp41 = add i32 0, %memory_size.0.i ; <i32> [#uses=0] |
| 54 | unreachable |
| 55 | } |