; RUN: llc < %s -mcpu=cortex-a15 -verify-machineinstrs -arm-atomic-cfg-tidy=0 | FileCheck %s

; Check a spill right after a function call with large struct byval is correctly
; generated.
; PR16393

; CHECK: set_stored_macroblock_parameters
; CHECK: str r{{.*}}, [sp, [[SLOT:#[0-9]+]]] @ 4-byte Spill
; CHECK: bl RestoreMVBlock8x8
; CHECK: bl RestoreMVBlock8x8
; CHECK: bl RestoreMVBlock8x8
; CHECK: ldr r{{.*}}, [sp, [[SLOT]]] @ 4-byte Reload

target triple = "armv7l-unknown-linux-gnueabihf"

%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 }
%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 }
%structC = type { i32, i32, [100 x %structD*], i32, float, float, float }
%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]] }
%structE = type { %structF*, %structG, %structG }
%structF = type { i32, i32, i8, i32, i32, i8, i8, i32, i32, i8*, i32 }
%structG = type { i32, i32, i32, i32, i32, i8*, i32*, i32, i32 }
%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] }
%structI = type { i16, i8, i32 }
%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]] }
%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 }
%structL = type { i32, i32, i32, i32, i32, %structL* }
%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 }
%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]] }

@cofAC = external global i32****, align 4
@cofDC = external global i32***, align 4
@rdopt = external global %structA*, align 4
@img = external global %structB*
@enc_picture = external global %structM*
@si_frame_indicator = external global i32, align 4
@sp2_frame_indicator = external global i32, align 4
@lrec = external global i32**, align 4
@tr8x8 = external global %structN, align 4
@best_mode = external global i16, align 2
@best_c_imode = external global i32, align 4
@best_i16offset = external global i32, align 4
@bi_pred_me = external global i16, align 2
@b8mode = external global [4 x i32], align 4
@b8pdir = external global [4 x i32], align 4
@b4_intra_pred_modes = external global [16 x i8], align 1
@b8_intra_pred_modes8x8 = external global [16 x i8], align 1
@b4_ipredmode = external global [16 x i8], align 1
@b8_ipredmode8x8 = external global [4 x [4 x i8]], align 1
@rec_mbY = external global [16 x [16 x i16]], align 2
@lrec_rec = external global [16 x [16 x i32]], align 4
@rec_mbU = external global [16 x [16 x i16]], align 2
@rec_mbV = external global [16 x [16 x i16]], align 2
@lrec_rec_U = external global [16 x [16 x i32]], align 4
@lrec_uv = external global i32***, align 4
@lrec_rec_V = external global [16 x [16 x i32]], align 4
@cbp = external global i32, align 4
@cbp_blk = external global i64, align 8
@luma_transform_size_8x8_flag = external global i32, align 4
@frefframe = external global [4 x [4 x i8]], align 1
@brefframe = external global [4 x [4 x i8]], align 1

; Function Attrs: nounwind
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) #0

; Function Attrs: nounwind
declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) #0

; Function Attrs: nounwind
declare void @SetMotionVectorsMB(%structK* nocapture, i32) #1

; Function Attrs: nounwind
define void @set_stored_macroblock_parameters() #1 {
entry:
  %0 = load %structB*, %structB** @img, align 4
  %1 = load i32, i32* undef, align 4
  %mb_data = getelementptr inbounds %structB, %structB* %0, i32 0, i32 61
  %2 = load %structK*, %structK** %mb_data, align 4
  br label %for.body

for.body:                                         ; preds = %for.body, %entry
  br i1 undef, label %for.end, label %for.body

for.end:                                          ; preds = %for.body
  br i1 undef, label %for.body20, label %if.end

for.body20:                                       ; preds = %for.end
  unreachable

if.end:                                           ; preds = %for.end
  br i1 undef, label %if.end40, label %for.cond31.preheader

for.cond31.preheader:                             ; preds = %if.end
  unreachable

if.end40:                                         ; preds = %if.end
  br i1 undef, label %if.end43, label %if.then42

if.then42:                                        ; preds = %if.end40
  br label %if.end43

if.end43:                                         ; preds = %if.then42, %if.end40
  br i1 undef, label %if.end164, label %for.cond47.preheader

for.cond47.preheader:                             ; preds = %if.end43
  br i1 undef, label %for.body119, label %if.end164

for.body119:                                      ; preds = %for.body119, %for.cond47.preheader
  br i1 undef, label %for.body119, label %if.end164

if.end164:                                        ; preds = %for.body119, %for.cond47.preheader, %if.end43
  store i32*** null, i32**** @cofDC, align 4
  %mb_type = getelementptr inbounds %structK, %structK* %2, i32 %1, i32 8
  br i1 undef, label %if.end230, label %if.then169

if.then169:                                       ; preds = %if.end164
  br i1 undef, label %for.cond185.preheader, label %for.cond210.preheader

for.cond185.preheader:                            ; preds = %if.then169
  unreachable

for.cond210.preheader:                            ; preds = %if.then169
  unreachable

if.end230:                                        ; preds = %if.end164
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* undef, i8* bitcast ([4 x i32]* @b8mode to i8*), i32 16, i32 4, i1 false)
  %b8pdir = getelementptr inbounds %structK, %structK* %2, i32 %1, i32 15
  %3 = bitcast [4 x i32]* %b8pdir to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* bitcast ([4 x i32]* @b8pdir to i8*), i32 16, i32 4, i1 false)
  br i1 undef, label %if.end236, label %if.then233

if.then233:                                       ; preds = %if.end230
  unreachable

if.end236:                                        ; preds = %if.end230
  %cmp242 = icmp ne i16 undef, 8
  %4 = load i32, i32* @luma_transform_size_8x8_flag, align 4
  %tobool245 = icmp ne i32 %4, 0
  %or.cond812 = or i1 %cmp242, %tobool245
  br i1 %or.cond812, label %if.end249, label %land.lhs.true246

land.lhs.true246:                                 ; preds = %if.end236
  br i1 undef, label %if.end249, label %if.then248

if.then248:                                       ; preds = %land.lhs.true246
  tail call void asm sideeffect "", "~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11}"() nounwind
  tail call void @RestoreMVBlock8x8(i32 1, i32 0, %structN* byval @tr8x8, i32 0) #0
  tail call void @RestoreMVBlock8x8(i32 1, i32 2, %structN* byval @tr8x8, i32 0) #0
  tail call void @RestoreMVBlock8x8(i32 1, i32 3, %structN* byval @tr8x8, i32 0) #0
  br label %if.end249

if.end249:                                        ; preds = %if.then248, %land.lhs.true246, %if.end236
  %5 = load i32, i32* @luma_transform_size_8x8_flag, align 4
  %6 = load %structA*, %structA** @rdopt, align 4
  %luma_transform_size_8x8_flag264 = getelementptr inbounds %structA, %structA* %6, i32 0, i32 21
  store i32 %5, i32* %luma_transform_size_8x8_flag264, align 4
  %7 = load i32, i32* undef, align 4
  %add281 = add nsw i32 %7, 0
  br label %for.body285

for.body285:                                      ; preds = %for.inc503, %if.end249
  %8 = phi %structB* [ undef, %if.end249 ], [ %.pre1155, %for.inc503 ]
  %i.21103 = phi i32 [ 0, %if.end249 ], [ %inc504, %for.inc503 ]
  %block_x286 = getelementptr inbounds %structB, %structB* %8, i32 0, i32 37
  %9 = load i32, i32* %block_x286, align 4
  %add287 = add nsw i32 %9, %i.21103
  %shr289 = ashr i32 %i.21103, 1
  %add290 = add nsw i32 %shr289, 0
  %arrayidx292 = getelementptr inbounds %structK, %structK* %2, i32 %1, i32 15, i32 %add290
  %10 = load %structM*, %structM** @enc_picture, align 4
  %ref_idx = getelementptr inbounds %structM, %structM* %10, i32 0, i32 35
  %11 = load i8***, i8**** %ref_idx, align 4
  %12 = load i8**, i8*** %11, align 4
  %arrayidx313 = getelementptr inbounds i8*, i8** %12, i32 %add281
  %13 = load i8*, i8** %arrayidx313, align 4
  %arrayidx314 = getelementptr inbounds i8, i8* %13, i32 %add287
  store i8 -1, i8* %arrayidx314, align 1
  %14 = load %structB*, %structB** @img, align 4
  %MbaffFrameFlag327 = getelementptr inbounds %structB, %structB* %14, i32 0, i32 100
  %15 = load i32, i32* %MbaffFrameFlag327, align 4
  %tobool328 = icmp eq i32 %15, 0
  br i1 %tobool328, label %if.end454, label %if.then329

if.then329:                                       ; preds = %for.body285
  %16 = load %structA*, %structA** @rdopt, align 4
  br label %if.end454

if.end454:                                        ; preds = %if.then329, %for.body285
  %17 = load i32, i32* %arrayidx292, align 4
  %cmp457 = icmp eq i32 %17, 0
  br i1 %cmp457, label %if.then475, label %lor.lhs.false459

lor.lhs.false459:                                 ; preds = %if.end454
  %18 = load i32, i32* %mb_type, align 4
  switch i32 %18, label %for.inc503 [
    i32 9, label %if.then475
    i32 11, label %if.then475
    i32 13, label %if.then475
    i32 14, label %if.then475
  ]

if.then475:                                       ; preds = %lor.lhs.false459, %lor.lhs.false459, %lor.lhs.false459, %lor.lhs.false459, %if.end454
  store i16 0, i16* undef, align 2
  br label %for.inc503

for.inc503:                                       ; preds = %if.then475, %lor.lhs.false459
  %inc504 = add nsw i32 %i.21103, 1
  %.pre1155 = load %structB*, %structB** @img, align 4
  br label %for.body285
}

; Function Attrs: nounwind
declare void @update_offset_params(i32, i32) #1

; Function Attrs: nounwind
declare void @RestoreMVBlock8x8(i32, i32, %structN* byval nocapture, i32) #1

attributes #0 = { nounwind }
attributes #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" }
