xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/struct-byval-frame-index.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mcpu=cortex-a15 -verify-machineinstrs -arm-atomic-cfg-tidy=0 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; Check a spill right after a function call with large struct byval is correctly
4*9880d681SAndroid Build Coastguard Worker; generated.
5*9880d681SAndroid Build Coastguard Worker; PR16393
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker; CHECK: set_stored_macroblock_parameters
8*9880d681SAndroid Build Coastguard Worker; CHECK: str r{{.*}}, [sp, [[SLOT:#[0-9]+]]] @ 4-byte Spill
9*9880d681SAndroid Build Coastguard Worker; CHECK: bl RestoreMVBlock8x8
10*9880d681SAndroid Build Coastguard Worker; CHECK: bl RestoreMVBlock8x8
11*9880d681SAndroid Build Coastguard Worker; CHECK: bl RestoreMVBlock8x8
12*9880d681SAndroid Build Coastguard Worker; CHECK: ldr r{{.*}}, [sp, [[SLOT]]] @ 4-byte Reload
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workertarget triple = "armv7l-unknown-linux-gnueabihf"
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker%structA = type { double, [16 x [16 x i16]], [16 x [16 x i16]], [16 x [16 x i16]], i32****, i32***, i32, i16, [4 x i32], [4 x i32], i8**, [16 x i8], [16 x i8], i32, i64, i32, i16******, i16******, [2 x [4 x [4 x i8]]], i32, i32, i32, i32, i32, i32, i32, i32, i32 }
17*9880d681SAndroid Build Coastguard Worker%structB = 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****, %structC*, %structD*, %structK*, 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, %structL*, 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 }
18*9880d681SAndroid Build Coastguard Worker%structC = type { i32, i32, [100 x %structD*], i32, float, float, float }
19*9880d681SAndroid Build Coastguard Worker%structD = type { i32, i32, i32, i32, i32, i32, %structE*, %structH*, %structJ*, i32, i32*, i32*, i32*, i32, i32*, i32*, i32*, i32 (i32)*, [3 x [2 x i32]] }
20*9880d681SAndroid Build Coastguard Worker%structE = type { %structF*, %structG, %structG }
21*9880d681SAndroid Build Coastguard Worker%structF = type { i32, i32, i8, i32, i32, i8, i8, i32, i32, i8*, i32 }
22*9880d681SAndroid Build Coastguard Worker%structG = type { i32, i32, i32, i32, i32, i8*, i32*, i32, i32 }
23*9880d681SAndroid Build Coastguard Worker%structH = type { [3 x [11 x %structI]], [2 x [9 x %structI]], [2 x [10 x %structI]], [2 x [6 x %structI]], [4 x %structI], [4 x %structI], [3 x %structI] }
24*9880d681SAndroid Build Coastguard Worker%structI = type { i16, i8, i32 }
25*9880d681SAndroid Build Coastguard Worker%structJ = type { [2 x %structI], [4 x %structI], [3 x [4 x %structI]], [10 x [4 x %structI]], [10 x [15 x %structI]], [10 x [15 x %structI]], [10 x [5 x %structI]], [10 x [5 x %structI]], [10 x [15 x %structI]], [10 x [15 x %structI]] }
26*9880d681SAndroid Build Coastguard Worker%structK = type { i32, i32, i32, [2 x i32], i32, [8 x i32], %structK*, %structK*, 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 }
27*9880d681SAndroid Build Coastguard Worker%structL = type { i32, i32, i32, i32, i32, %structL* }
28*9880d681SAndroid Build Coastguard Worker%structM = type { i32, i32, i32, i32, i32, i32, [6 x [33 x i64]], [6 x [33 x i64]], [6 x [33 x i64]], [6 x [33 x i64]], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i16**, i16****, i16****, i16*****, i16***, i8*, i8***, i64***, i64***, i16****, i8**, i8**, %structM*, %structM*, %structM*, i32, i32, i32, i32, i32, i32, i32 }
29*9880d681SAndroid Build Coastguard Worker%structN = type { i32, [16 x [16 x i32]], [16 x [16 x i32]], [16 x [16 x i32]], [3 x [16 x [16 x i32]]], [4 x i16], [4 x i8], [4 x i8], [4 x i8], [16 x [16 x i16]], [16 x [16 x i16]], [16 x [16 x i32]] }
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker@cofAC = external global i32****, align 4
32*9880d681SAndroid Build Coastguard Worker@cofDC = external global i32***, align 4
33*9880d681SAndroid Build Coastguard Worker@rdopt = external global %structA*, align 4
34*9880d681SAndroid Build Coastguard Worker@img = external global %structB*
35*9880d681SAndroid Build Coastguard Worker@enc_picture = external global %structM*
36*9880d681SAndroid Build Coastguard Worker@si_frame_indicator = external global i32, align 4
37*9880d681SAndroid Build Coastguard Worker@sp2_frame_indicator = external global i32, align 4
38*9880d681SAndroid Build Coastguard Worker@lrec = external global i32**, align 4
39*9880d681SAndroid Build Coastguard Worker@tr8x8 = external global %structN, align 4
40*9880d681SAndroid Build Coastguard Worker@best_mode = external global i16, align 2
41*9880d681SAndroid Build Coastguard Worker@best_c_imode = external global i32, align 4
42*9880d681SAndroid Build Coastguard Worker@best_i16offset = external global i32, align 4
43*9880d681SAndroid Build Coastguard Worker@bi_pred_me = external global i16, align 2
44*9880d681SAndroid Build Coastguard Worker@b8mode = external global [4 x i32], align 4
45*9880d681SAndroid Build Coastguard Worker@b8pdir = external global [4 x i32], align 4
46*9880d681SAndroid Build Coastguard Worker@b4_intra_pred_modes = external global [16 x i8], align 1
47*9880d681SAndroid Build Coastguard Worker@b8_intra_pred_modes8x8 = external global [16 x i8], align 1
48*9880d681SAndroid Build Coastguard Worker@b4_ipredmode = external global [16 x i8], align 1
49*9880d681SAndroid Build Coastguard Worker@b8_ipredmode8x8 = external global [4 x [4 x i8]], align 1
50*9880d681SAndroid Build Coastguard Worker@rec_mbY = external global [16 x [16 x i16]], align 2
51*9880d681SAndroid Build Coastguard Worker@lrec_rec = external global [16 x [16 x i32]], align 4
52*9880d681SAndroid Build Coastguard Worker@rec_mbU = external global [16 x [16 x i16]], align 2
53*9880d681SAndroid Build Coastguard Worker@rec_mbV = external global [16 x [16 x i16]], align 2
54*9880d681SAndroid Build Coastguard Worker@lrec_rec_U = external global [16 x [16 x i32]], align 4
55*9880d681SAndroid Build Coastguard Worker@lrec_uv = external global i32***, align 4
56*9880d681SAndroid Build Coastguard Worker@lrec_rec_V = external global [16 x [16 x i32]], align 4
57*9880d681SAndroid Build Coastguard Worker@cbp = external global i32, align 4
58*9880d681SAndroid Build Coastguard Worker@cbp_blk = external global i64, align 8
59*9880d681SAndroid Build Coastguard Worker@luma_transform_size_8x8_flag = external global i32, align 4
60*9880d681SAndroid Build Coastguard Worker@frefframe = external global [4 x [4 x i8]], align 1
61*9880d681SAndroid Build Coastguard Worker@brefframe = external global [4 x [4 x i8]], align 1
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
64*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) #0
65*9880d681SAndroid Build Coastguard Worker
66*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
67*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) #0
68*9880d681SAndroid Build Coastguard Worker
69*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
70*9880d681SAndroid Build Coastguard Workerdeclare void @SetMotionVectorsMB(%structK* nocapture, i32) #1
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
73*9880d681SAndroid Build Coastguard Workerdefine void @set_stored_macroblock_parameters() #1 {
74*9880d681SAndroid Build Coastguard Workerentry:
75*9880d681SAndroid Build Coastguard Worker  %0 = load %structB*, %structB** @img, align 4
76*9880d681SAndroid Build Coastguard Worker  %1 = load i32, i32* undef, align 4
77*9880d681SAndroid Build Coastguard Worker  %mb_data = getelementptr inbounds %structB, %structB* %0, i32 0, i32 61
78*9880d681SAndroid Build Coastguard Worker  %2 = load %structK*, %structK** %mb_data, align 4
79*9880d681SAndroid Build Coastguard Worker  br label %for.body
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Workerfor.body:                                         ; preds = %for.body, %entry
82*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %for.end, label %for.body
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Workerfor.end:                                          ; preds = %for.body
85*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %for.body20, label %if.end
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Workerfor.body20:                                       ; preds = %for.end
88*9880d681SAndroid Build Coastguard Worker  unreachable
89*9880d681SAndroid Build Coastguard Worker
90*9880d681SAndroid Build Coastguard Workerif.end:                                           ; preds = %for.end
91*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %if.end40, label %for.cond31.preheader
92*9880d681SAndroid Build Coastguard Worker
93*9880d681SAndroid Build Coastguard Workerfor.cond31.preheader:                             ; preds = %if.end
94*9880d681SAndroid Build Coastguard Worker  unreachable
95*9880d681SAndroid Build Coastguard Worker
96*9880d681SAndroid Build Coastguard Workerif.end40:                                         ; preds = %if.end
97*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %if.end43, label %if.then42
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Workerif.then42:                                        ; preds = %if.end40
100*9880d681SAndroid Build Coastguard Worker  br label %if.end43
101*9880d681SAndroid Build Coastguard Worker
102*9880d681SAndroid Build Coastguard Workerif.end43:                                         ; preds = %if.then42, %if.end40
103*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %if.end164, label %for.cond47.preheader
104*9880d681SAndroid Build Coastguard Worker
105*9880d681SAndroid Build Coastguard Workerfor.cond47.preheader:                             ; preds = %if.end43
106*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %for.body119, label %if.end164
107*9880d681SAndroid Build Coastguard Worker
108*9880d681SAndroid Build Coastguard Workerfor.body119:                                      ; preds = %for.body119, %for.cond47.preheader
109*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %for.body119, label %if.end164
110*9880d681SAndroid Build Coastguard Worker
111*9880d681SAndroid Build Coastguard Workerif.end164:                                        ; preds = %for.body119, %for.cond47.preheader, %if.end43
112*9880d681SAndroid Build Coastguard Worker  store i32*** null, i32**** @cofDC, align 4
113*9880d681SAndroid Build Coastguard Worker  %mb_type = getelementptr inbounds %structK, %structK* %2, i32 %1, i32 8
114*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %if.end230, label %if.then169
115*9880d681SAndroid Build Coastguard Worker
116*9880d681SAndroid Build Coastguard Workerif.then169:                                       ; preds = %if.end164
117*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %for.cond185.preheader, label %for.cond210.preheader
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Workerfor.cond185.preheader:                            ; preds = %if.then169
120*9880d681SAndroid Build Coastguard Worker  unreachable
121*9880d681SAndroid Build Coastguard Worker
122*9880d681SAndroid Build Coastguard Workerfor.cond210.preheader:                            ; preds = %if.then169
123*9880d681SAndroid Build Coastguard Worker  unreachable
124*9880d681SAndroid Build Coastguard Worker
125*9880d681SAndroid Build Coastguard Workerif.end230:                                        ; preds = %if.end164
126*9880d681SAndroid Build Coastguard Worker  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* undef, i8* bitcast ([4 x i32]* @b8mode to i8*), i32 16, i32 4, i1 false)
127*9880d681SAndroid Build Coastguard Worker  %b8pdir = getelementptr inbounds %structK, %structK* %2, i32 %1, i32 15
128*9880d681SAndroid Build Coastguard Worker  %3 = bitcast [4 x i32]* %b8pdir to i8*
129*9880d681SAndroid Build Coastguard Worker  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* bitcast ([4 x i32]* @b8pdir to i8*), i32 16, i32 4, i1 false)
130*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %if.end236, label %if.then233
131*9880d681SAndroid Build Coastguard Worker
132*9880d681SAndroid Build Coastguard Workerif.then233:                                       ; preds = %if.end230
133*9880d681SAndroid Build Coastguard Worker  unreachable
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Workerif.end236:                                        ; preds = %if.end230
136*9880d681SAndroid Build Coastguard Worker  %cmp242 = icmp ne i16 undef, 8
137*9880d681SAndroid Build Coastguard Worker  %4 = load i32, i32* @luma_transform_size_8x8_flag, align 4
138*9880d681SAndroid Build Coastguard Worker  %tobool245 = icmp ne i32 %4, 0
139*9880d681SAndroid Build Coastguard Worker  %or.cond812 = or i1 %cmp242, %tobool245
140*9880d681SAndroid Build Coastguard Worker  br i1 %or.cond812, label %if.end249, label %land.lhs.true246
141*9880d681SAndroid Build Coastguard Worker
142*9880d681SAndroid Build Coastguard Workerland.lhs.true246:                                 ; preds = %if.end236
143*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %if.end249, label %if.then248
144*9880d681SAndroid Build Coastguard Worker
145*9880d681SAndroid Build Coastguard Workerif.then248:                                       ; preds = %land.lhs.true246
146*9880d681SAndroid Build Coastguard Worker  tail call void asm sideeffect "", "~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11}"() nounwind
147*9880d681SAndroid Build Coastguard Worker  tail call void @RestoreMVBlock8x8(i32 1, i32 0, %structN* byval @tr8x8, i32 0) #0
148*9880d681SAndroid Build Coastguard Worker  tail call void @RestoreMVBlock8x8(i32 1, i32 2, %structN* byval @tr8x8, i32 0) #0
149*9880d681SAndroid Build Coastguard Worker  tail call void @RestoreMVBlock8x8(i32 1, i32 3, %structN* byval @tr8x8, i32 0) #0
150*9880d681SAndroid Build Coastguard Worker  br label %if.end249
151*9880d681SAndroid Build Coastguard Worker
152*9880d681SAndroid Build Coastguard Workerif.end249:                                        ; preds = %if.then248, %land.lhs.true246, %if.end236
153*9880d681SAndroid Build Coastguard Worker  %5 = load i32, i32* @luma_transform_size_8x8_flag, align 4
154*9880d681SAndroid Build Coastguard Worker  %6 = load %structA*, %structA** @rdopt, align 4
155*9880d681SAndroid Build Coastguard Worker  %luma_transform_size_8x8_flag264 = getelementptr inbounds %structA, %structA* %6, i32 0, i32 21
156*9880d681SAndroid Build Coastguard Worker  store i32 %5, i32* %luma_transform_size_8x8_flag264, align 4
157*9880d681SAndroid Build Coastguard Worker  %7 = load i32, i32* undef, align 4
158*9880d681SAndroid Build Coastguard Worker  %add281 = add nsw i32 %7, 0
159*9880d681SAndroid Build Coastguard Worker  br label %for.body285
160*9880d681SAndroid Build Coastguard Worker
161*9880d681SAndroid Build Coastguard Workerfor.body285:                                      ; preds = %for.inc503, %if.end249
162*9880d681SAndroid Build Coastguard Worker  %8 = phi %structB* [ undef, %if.end249 ], [ %.pre1155, %for.inc503 ]
163*9880d681SAndroid Build Coastguard Worker  %i.21103 = phi i32 [ 0, %if.end249 ], [ %inc504, %for.inc503 ]
164*9880d681SAndroid Build Coastguard Worker  %block_x286 = getelementptr inbounds %structB, %structB* %8, i32 0, i32 37
165*9880d681SAndroid Build Coastguard Worker  %9 = load i32, i32* %block_x286, align 4
166*9880d681SAndroid Build Coastguard Worker  %add287 = add nsw i32 %9, %i.21103
167*9880d681SAndroid Build Coastguard Worker  %shr289 = ashr i32 %i.21103, 1
168*9880d681SAndroid Build Coastguard Worker  %add290 = add nsw i32 %shr289, 0
169*9880d681SAndroid Build Coastguard Worker  %arrayidx292 = getelementptr inbounds %structK, %structK* %2, i32 %1, i32 15, i32 %add290
170*9880d681SAndroid Build Coastguard Worker  %10 = load %structM*, %structM** @enc_picture, align 4
171*9880d681SAndroid Build Coastguard Worker  %ref_idx = getelementptr inbounds %structM, %structM* %10, i32 0, i32 35
172*9880d681SAndroid Build Coastguard Worker  %11 = load i8***, i8**** %ref_idx, align 4
173*9880d681SAndroid Build Coastguard Worker  %12 = load i8**, i8*** %11, align 4
174*9880d681SAndroid Build Coastguard Worker  %arrayidx313 = getelementptr inbounds i8*, i8** %12, i32 %add281
175*9880d681SAndroid Build Coastguard Worker  %13 = load i8*, i8** %arrayidx313, align 4
176*9880d681SAndroid Build Coastguard Worker  %arrayidx314 = getelementptr inbounds i8, i8* %13, i32 %add287
177*9880d681SAndroid Build Coastguard Worker  store i8 -1, i8* %arrayidx314, align 1
178*9880d681SAndroid Build Coastguard Worker  %14 = load %structB*, %structB** @img, align 4
179*9880d681SAndroid Build Coastguard Worker  %MbaffFrameFlag327 = getelementptr inbounds %structB, %structB* %14, i32 0, i32 100
180*9880d681SAndroid Build Coastguard Worker  %15 = load i32, i32* %MbaffFrameFlag327, align 4
181*9880d681SAndroid Build Coastguard Worker  %tobool328 = icmp eq i32 %15, 0
182*9880d681SAndroid Build Coastguard Worker  br i1 %tobool328, label %if.end454, label %if.then329
183*9880d681SAndroid Build Coastguard Worker
184*9880d681SAndroid Build Coastguard Workerif.then329:                                       ; preds = %for.body285
185*9880d681SAndroid Build Coastguard Worker  %16 = load %structA*, %structA** @rdopt, align 4
186*9880d681SAndroid Build Coastguard Worker  br label %if.end454
187*9880d681SAndroid Build Coastguard Worker
188*9880d681SAndroid Build Coastguard Workerif.end454:                                        ; preds = %if.then329, %for.body285
189*9880d681SAndroid Build Coastguard Worker  %17 = load i32, i32* %arrayidx292, align 4
190*9880d681SAndroid Build Coastguard Worker  %cmp457 = icmp eq i32 %17, 0
191*9880d681SAndroid Build Coastguard Worker  br i1 %cmp457, label %if.then475, label %lor.lhs.false459
192*9880d681SAndroid Build Coastguard Worker
193*9880d681SAndroid Build Coastguard Workerlor.lhs.false459:                                 ; preds = %if.end454
194*9880d681SAndroid Build Coastguard Worker  %18 = load i32, i32* %mb_type, align 4
195*9880d681SAndroid Build Coastguard Worker  switch i32 %18, label %for.inc503 [
196*9880d681SAndroid Build Coastguard Worker    i32 9, label %if.then475
197*9880d681SAndroid Build Coastguard Worker    i32 11, label %if.then475
198*9880d681SAndroid Build Coastguard Worker    i32 13, label %if.then475
199*9880d681SAndroid Build Coastguard Worker    i32 14, label %if.then475
200*9880d681SAndroid Build Coastguard Worker  ]
201*9880d681SAndroid Build Coastguard Worker
202*9880d681SAndroid Build Coastguard Workerif.then475:                                       ; preds = %lor.lhs.false459, %lor.lhs.false459, %lor.lhs.false459, %lor.lhs.false459, %if.end454
203*9880d681SAndroid Build Coastguard Worker  store i16 0, i16* undef, align 2
204*9880d681SAndroid Build Coastguard Worker  br label %for.inc503
205*9880d681SAndroid Build Coastguard Worker
206*9880d681SAndroid Build Coastguard Workerfor.inc503:                                       ; preds = %if.then475, %lor.lhs.false459
207*9880d681SAndroid Build Coastguard Worker  %inc504 = add nsw i32 %i.21103, 1
208*9880d681SAndroid Build Coastguard Worker  %.pre1155 = load %structB*, %structB** @img, align 4
209*9880d681SAndroid Build Coastguard Worker  br label %for.body285
210*9880d681SAndroid Build Coastguard Worker}
211*9880d681SAndroid Build Coastguard Worker
212*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
213*9880d681SAndroid Build Coastguard Workerdeclare void @update_offset_params(i32, i32) #1
214*9880d681SAndroid Build Coastguard Worker
215*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
216*9880d681SAndroid Build Coastguard Workerdeclare void @RestoreMVBlock8x8(i32, i32, %structN* byval nocapture, i32) #1
217*9880d681SAndroid Build Coastguard Worker
218*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind }
219*9880d681SAndroid Build Coastguard Workerattributes #1 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
220