; ModuleID = 'input.ll' source_filename = "/tmp/zlib.c" target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" target triple = "thumbv7em-arm-none-eabi" %struct.z_stream_s = type { i8*, i32, i32, i8*, i32, i32, i8*, %struct.internal_state*, i8* (i8*, i32, i32)*, void (i8*, i8*)*, i8*, i32, i32, i32 } %struct.internal_state = type { i32 } @inflate_mask = external dso_local local_unnamed_addr global [17 x i32], align 4 ; Function Attrs: argmemonly nofree nosync nounwind willreturn declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #0 ; Function Attrs: argmemonly nofree nosync nounwind willreturn declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #0 define dso_local i32 @inflate_blocks(%struct.z_stream_s* %z) local_unnamed_addr { cond.end: %total_in703 = getelementptr inbounds %struct.z_stream_s, %struct.z_stream_s* %z, i32 0, i32 2 br label %while.cond.outer while.cond.outer: ; preds = %cond.end br label %while.cond while.cond: ; preds = %while.cond.outer switch i32 undef, label %sw.default [ i32 0, label %while.cond5 ] while.cond5: ; preds = %if.then, %while.cond %p.1 = phi i8* [ %incdec.ptr, %if.then ], [ undef, %while.cond ] br label %while.body7 while.body7: ; preds = %while.cond5 %tobool.not = icmp eq i32 undef, 0 br i1 %tobool.not, label %if.else, label %if.then if.then: ; preds = %while.body7 %incdec.ptr = getelementptr inbounds i8, i8* %p.1, i32 1 br label %while.cond5 if.else: ; preds = %while.body7 %sub.ptr.lhs.cast12 = ptrtoint i8* %p.1 to i32 %sub.ptr.sub14 = sub i32 %sub.ptr.lhs.cast12, undef %add = add i32 %sub.ptr.sub14, undef store i32 %add, i32* %total_in703, align 4, !tbaa !0 ret i32 undef sw.default: ; preds = %while.cond ret i32 undef } ; Function Attrs: argmemonly nofree nosync nounwind willreturn declare void @llvm.memcpy.p0i8.p0i8.i32(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i32, i1 immarg) #0 attributes #0 = { argmemonly nofree nosync nounwind willreturn } !0 = !{!1, !6, i64 8} !1 = !{!"z_stream_s", !2, i64 0, !5, i64 4, !6, i64 8, !2, i64 12, !5, i64 16, !6, i64 20, !2, i64 24, !2, i64 28, !2, i64 32, !2, i64 36, !2, i64 40, !5, i64 44, !6, i64 48, !6, i64 52} !2 = !{!"any pointer", !3, i64 0} !3 = !{!"omnipotent char", !4, i64 0} !4 = !{!"Simple C/C++ TBAA"} !5 = !{!"int", !3, i64 0} !6 = !{!"long", !3, i64 0}