; RUN: llc %s -o -

; PR6332
%struct.AVCodecTag = type {}
@ff_codec_bmp_tags = external global [0 x %struct.AVCodecTag]
@tags = global [1 x %struct.AVCodecTag*] [%struct.AVCodecTag* getelementptr
inbounds ([0 x %struct.AVCodecTag], [0 x %struct.AVCodecTag]* @ff_codec_bmp_tags, i32 0, i32 0)]


; rdar://8878965

%struct.CAMERA = type { [3 x double], [3 x double], [3 x double], [3 x double], [3 x double], [3 x double], double, double, i32, double, double, i32, double, i32* }

define void @Parse_Camera(%struct.CAMERA** nocapture %Camera_Ptr) nounwind {
entry:
%.pre = load %struct.CAMERA*, %struct.CAMERA** %Camera_Ptr, align 4
%0 = getelementptr inbounds %struct.CAMERA, %struct.CAMERA* %.pre, i32 0, i32 1, i32 0
%1 = getelementptr inbounds %struct.CAMERA, %struct.CAMERA* %.pre, i32 0, i32 1, i32 2
br label %bb32

bb32:                                             ; preds = %bb6
%2 = load double, double* %0, align 4
%3 = load double, double* %1, align 4
%4 = load double, double* %0, align 4
call void @Parse_Vector(double* %0) nounwind
%5 = call i32 @llvm.objectsize.i32.p0i8(i8* undef, i1 false)
%6 = icmp eq i32 %5, -1
br i1 %6, label %bb34, label %bb33

bb33:                                             ; preds = %bb32
unreachable

bb34:                                             ; preds = %bb32
unreachable

}

declare void @Parse_Vector(double*)
declare i32 @llvm.objectsize.i32.p0i8(i8*, i1)


; PR9578
%struct.S0 = type { i32, i8, i32 }

define void @func_82() nounwind optsize {
entry:
  br label %for.body.i

for.body.i:                                       ; preds = %for.body.i, %entry
  br i1 undef, label %func_74.exit.for.cond29.thread_crit_edge, label %for.body.i

func_74.exit.for.cond29.thread_crit_edge:         ; preds = %for.body.i
  %f13576.pre = getelementptr inbounds %struct.S0, %struct.S0* undef, i64 0, i32 1
  store i8 0, i8* %f13576.pre, align 4
  br label %lbl_468

lbl_468:                                          ; preds = %lbl_468, %func_74.exit.for.cond29.thread_crit_edge
  %f13577.ph = phi i8* [ %f13576.pre, %func_74.exit.for.cond29.thread_crit_edge ], [ %f135.pre, %lbl_468 ]
  store i8 1, i8* %f13577.ph, align 1
  %f135.pre = getelementptr inbounds %struct.S0, %struct.S0* undef, i64 0, i32 1
  br i1 undef, label %lbl_468, label %for.end74

for.end74:                                        ; preds = %lbl_468
  ret void
}
