1*e1f056f6Srahulana-quic; RUN: opt %loadNPMPolly -pass-remarks-missed="polly-detect" -polly-detect-track-failures '-passes=print<polly-detect>' -disable-output 2>&1 < %s | FileCheck %s -match-full-lines 2beffdb9dSMichael Kruse; 3beffdb9dSMichael Kruse; Derived from test-suite/MultiSource/Benchmarks/BitBench/uuencode/uuencode.c 4beffdb9dSMichael Kruse; 5b5a273a1SStephen Tozer; CHECK: remark: uuencode.c:76:13: The following errors keep this region from being a Scop. 6beffdb9dSMichael Kruse; CHECK: remark: uuencode.c:83:3: Loop cannot be handled because it has multiple exits. 7beffdb9dSMichael Kruse; CHECK: remark: uuencode.c:95:21: Invalid Scop candidate ends here. 8beffdb9dSMichael Kruse 9beffdb9dSMichael Kruse 10beffdb9dSMichael Krusetarget datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 11beffdb9dSMichael Kruse 12b332499aSNikita Popovdefine void @encode_line(ptr nocapture readonly %input, i32 %offset, i32 %octets, ptr nocapture %line) !dbg !9 { 13beffdb9dSMichael Kruseentry: 14beffdb9dSMichael Kruse br label %entry.split, !dbg !26 15beffdb9dSMichael Kruse 16beffdb9dSMichael Kruseentry.split: ; preds = %entry 17b332499aSNikita Popov call void @llvm.dbg.value(metadata ptr %input, metadata !17, metadata !DIExpression()), !dbg !26 18beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %offset, metadata !18, metadata !DIExpression()), !dbg !27 19beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %octets, metadata !19, metadata !DIExpression()), !dbg !28 20b332499aSNikita Popov call void @llvm.dbg.value(metadata ptr %line, metadata !20, metadata !DIExpression()), !dbg !29 21beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 0, metadata !21, metadata !DIExpression()), !dbg !30 22beffdb9dSMichael Kruse %conv = trunc i32 %octets to i8, !dbg !31 23beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %conv, metadata !32, metadata !DIExpression()), !dbg !37 24beffdb9dSMichael Kruse %tmp = and i8 %conv, 63, !dbg !39 25beffdb9dSMichael Kruse %addconv.i = add nuw nsw i8 %tmp, 32, !dbg !40 26b332499aSNikita Popov store i8 %addconv.i, ptr %line, align 1, !dbg !41, !tbaa !42 27beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 1, metadata !21, metadata !DIExpression()), !dbg !30 28beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %offset, metadata !18, metadata !DIExpression()), !dbg !27 29beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %octets, metadata !19, metadata !DIExpression()), !dbg !28 30beffdb9dSMichael Kruse %cmp220 = icmp sgt i32 %octets, 0, !dbg !45 31beffdb9dSMichael Kruse br i1 %cmp220, label %for.body.preheader, label %for.end, !dbg !46 32beffdb9dSMichael Kruse 33beffdb9dSMichael Krusefor.body.preheader: ; preds = %entry.split 34beffdb9dSMichael Kruse %tmp1 = sext i32 %offset to i64, !dbg !47 35beffdb9dSMichael Kruse br label %for.body, !dbg !47 36beffdb9dSMichael Kruse 37beffdb9dSMichael Krusefor.body: ; preds = %if.end126, %for.body.preheader 38beffdb9dSMichael Kruse %indvars.iv = phi i64 [ %tmp1, %for.body.preheader ], [ %indvars.iv.next, %if.end126 ] 39beffdb9dSMichael Kruse %loffs.0223 = phi i32 [ 1, %for.body.preheader ], [ %inc49, %if.end126 ] 40beffdb9dSMichael Kruse %octets.addr.0221 = phi i32 [ %octets, %for.body.preheader ], [ %sub, %if.end126 ] 41beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %loffs.0223, metadata !21, metadata !DIExpression()), !dbg !30 42beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i64 %indvars.iv, metadata !18, metadata !DIExpression()), !dbg !27 43beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %octets.addr.0221, metadata !19, metadata !DIExpression()), !dbg !28 44beffdb9dSMichael Kruse %cmp3 = icmp sgt i32 %octets.addr.0221, 2, !dbg !47 45beffdb9dSMichael Kruse br i1 %cmp3, label %if.end126, label %if.else, !dbg !49 46beffdb9dSMichael Kruse 47beffdb9dSMichael Kruseif.else: ; preds = %for.body 48beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i64 %indvars.iv, metadata !18, metadata !DIExpression()), !dbg !27 49beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %loffs.0223, metadata !21, metadata !DIExpression()), !dbg !30 50beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %octets.addr.0221, metadata !19, metadata !DIExpression()), !dbg !28 51beffdb9dSMichael Kruse br label %for.end 52beffdb9dSMichael Kruse 53beffdb9dSMichael Kruseif.then54: ; No predecessors! 54b332499aSNikita Popov %arrayidx56 = getelementptr inbounds i8, ptr %input, i64 %indvars.iv, !dbg !50 55b332499aSNikita Popov %tmp2 = load i8, ptr %arrayidx56, align 1, !dbg !50, !tbaa !42 56beffdb9dSMichael Kruse %tmp3 = lshr i8 %tmp2, 2, !dbg !54 57beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %tmp2, metadata !32, metadata !DIExpression(DW_OP_constu, 2, DW_OP_shra, DW_OP_stack_value)), !dbg !55 58beffdb9dSMichael Kruse %addconv.i210 = add nuw nsw i8 %tmp3, 32, !dbg !57 59beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %addconv.i210, metadata !22, metadata !DIExpression()), !dbg !58 60beffdb9dSMichael Kruse %inc62 = add nuw nsw i32 %loffs.0223, 1, !dbg !59 61beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc62, metadata !21, metadata !DIExpression()), !dbg !30 62beffdb9dSMichael Kruse %tmp4 = zext i32 %loffs.0223 to i64, !dbg !60 63b332499aSNikita Popov %arrayidx64 = getelementptr inbounds i8, ptr %line, i64 %tmp4, !dbg !60 64b332499aSNikita Popov store i8 %addconv.i210, ptr %arrayidx64, align 1, !dbg !61, !tbaa !42 65b332499aSNikita Popov %tmp5 = load i8, ptr %arrayidx56, align 1, !dbg !62, !tbaa !42 66beffdb9dSMichael Kruse %shl68 = shl i8 %tmp5, 4, !dbg !63 67beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %shl68, metadata !32, metadata !DIExpression()), !dbg !64 68beffdb9dSMichael Kruse %tmp6 = and i8 %shl68, 48, !dbg !66 69beffdb9dSMichael Kruse %addconv.i208 = add nuw nsw i8 %tmp6, 32, !dbg !67 70beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %addconv.i208, metadata !22, metadata !DIExpression()), !dbg !58 71beffdb9dSMichael Kruse %inc72 = add nuw nsw i32 %loffs.0223, 2, !dbg !68 72beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc72, metadata !21, metadata !DIExpression()), !dbg !30 73beffdb9dSMichael Kruse %tmp7 = zext i32 %inc62 to i64, !dbg !69 74b332499aSNikita Popov %arrayidx74 = getelementptr inbounds i8, ptr %line, i64 %tmp7, !dbg !69 75b332499aSNikita Popov store i8 %addconv.i208, ptr %arrayidx74, align 1, !dbg !70, !tbaa !42 76beffdb9dSMichael Kruse %inc75 = add nuw nsw i32 %loffs.0223, 3, !dbg !71 77beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc75, metadata !21, metadata !DIExpression()), !dbg !30 78beffdb9dSMichael Kruse %tmp8 = zext i32 %inc72 to i64, !dbg !72 79b332499aSNikita Popov %arrayidx77 = getelementptr inbounds i8, ptr %line, i64 %tmp8, !dbg !72 80b332499aSNikita Popov store i8 61, ptr %arrayidx77, align 1, !dbg !73, !tbaa !42 81beffdb9dSMichael Kruse %inc78 = add nuw nsw i32 %loffs.0223, 4, !dbg !74 82beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc78, metadata !21, metadata !DIExpression()), !dbg !30 83beffdb9dSMichael Kruse %tmp9 = zext i32 %inc75 to i64, !dbg !75 84b332499aSNikita Popov %arrayidx80 = getelementptr inbounds i8, ptr %line, i64 %tmp9, !dbg !75 85b332499aSNikita Popov store i8 61, ptr %arrayidx80, align 1, !dbg !76, !tbaa !42 86beffdb9dSMichael Kruse br label %for.end, !dbg !77 87beffdb9dSMichael Kruse 88beffdb9dSMichael Kruseif.then84: ; No predecessors! 89b332499aSNikita Popov %arrayidx86 = getelementptr inbounds i8, ptr %input, i64 %indvars.iv, !dbg !78 90b332499aSNikita Popov %tmp10 = load i8, ptr %arrayidx86, align 1, !dbg !78, !tbaa !42 91beffdb9dSMichael Kruse %tmp11 = lshr i8 %tmp10, 2, !dbg !82 92beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %tmp10, metadata !32, metadata !DIExpression(DW_OP_constu, 2, DW_OP_shra, DW_OP_stack_value)), !dbg !83 93beffdb9dSMichael Kruse %addconv.i206 = add nuw nsw i8 %tmp11, 32, !dbg !85 94beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %addconv.i206, metadata !22, metadata !DIExpression()), !dbg !58 95beffdb9dSMichael Kruse %inc92 = add nuw nsw i32 %loffs.0223, 1, !dbg !86 96beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc92, metadata !21, metadata !DIExpression()), !dbg !30 97beffdb9dSMichael Kruse %tmp12 = zext i32 %loffs.0223 to i64, !dbg !87 98b332499aSNikita Popov %arrayidx94 = getelementptr inbounds i8, ptr %line, i64 %tmp12, !dbg !87 99b332499aSNikita Popov store i8 %addconv.i206, ptr %arrayidx94, align 1, !dbg !88, !tbaa !42 100b332499aSNikita Popov %tmp13 = load i8, ptr %arrayidx86, align 1, !dbg !89, !tbaa !42 101beffdb9dSMichael Kruse %shl98 = shl i8 %tmp13, 4, !dbg !90 102beffdb9dSMichael Kruse %tmp14 = add nsw i64 %indvars.iv, 1, !dbg !91 103b332499aSNikita Popov %arrayidx101 = getelementptr inbounds i8, ptr %input, i64 %tmp14, !dbg !92 104b332499aSNikita Popov %tmp15 = load i8, ptr %arrayidx101, align 1, !dbg !92, !tbaa !42 105beffdb9dSMichael Kruse %tmp16 = ashr i8 %tmp15, 4, !dbg !93 106beffdb9dSMichael Kruse %or104 = or i8 %tmp16, %shl98, !dbg !94 107beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %or104, metadata !32, metadata !DIExpression()), !dbg !95 108beffdb9dSMichael Kruse %tmp17 = and i8 %or104, 63, !dbg !97 109beffdb9dSMichael Kruse %addconv.i204 = add nuw nsw i8 %tmp17, 32, !dbg !98 110beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %addconv.i204, metadata !22, metadata !DIExpression()), !dbg !58 111beffdb9dSMichael Kruse %inc108 = add nuw nsw i32 %loffs.0223, 2, !dbg !99 112beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc108, metadata !21, metadata !DIExpression()), !dbg !30 113beffdb9dSMichael Kruse %tmp18 = zext i32 %inc92 to i64, !dbg !100 114b332499aSNikita Popov %arrayidx110 = getelementptr inbounds i8, ptr %line, i64 %tmp18, !dbg !100 115b332499aSNikita Popov store i8 %addconv.i204, ptr %arrayidx110, align 1, !dbg !101, !tbaa !42 116b332499aSNikita Popov %tmp19 = load i8, ptr %arrayidx101, align 1, !dbg !102, !tbaa !42 117beffdb9dSMichael Kruse %shl115 = shl i8 %tmp19, 2, !dbg !103 118beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %shl115, metadata !32, metadata !DIExpression()), !dbg !104 119beffdb9dSMichael Kruse %tmp20 = and i8 %shl115, 60, !dbg !106 120beffdb9dSMichael Kruse %addconv.i202 = add nuw nsw i8 %tmp20, 32, !dbg !107 121beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %addconv.i202, metadata !22, metadata !DIExpression()), !dbg !58 122beffdb9dSMichael Kruse %inc119 = add nuw nsw i32 %loffs.0223, 3, !dbg !108 123beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc119, metadata !21, metadata !DIExpression()), !dbg !30 124beffdb9dSMichael Kruse %tmp21 = zext i32 %inc108 to i64, !dbg !109 125b332499aSNikita Popov %arrayidx121 = getelementptr inbounds i8, ptr %line, i64 %tmp21, !dbg !109 126b332499aSNikita Popov store i8 %addconv.i202, ptr %arrayidx121, align 1, !dbg !110, !tbaa !42 127beffdb9dSMichael Kruse %inc122 = add nuw nsw i32 %loffs.0223, 4, !dbg !111 128beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc122, metadata !21, metadata !DIExpression()), !dbg !30 129beffdb9dSMichael Kruse %tmp22 = zext i32 %inc119 to i64, !dbg !112 130b332499aSNikita Popov %arrayidx124 = getelementptr inbounds i8, ptr %line, i64 %tmp22, !dbg !112 131b332499aSNikita Popov store i8 61, ptr %arrayidx124, align 1, !dbg !113, !tbaa !42 132beffdb9dSMichael Kruse br label %for.end, !dbg !114 133beffdb9dSMichael Kruse 134beffdb9dSMichael Kruseif.end126: ; preds = %for.body 135b332499aSNikita Popov %arrayidx6 = getelementptr inbounds i8, ptr %input, i64 %indvars.iv, !dbg !115 136b332499aSNikita Popov %tmp23 = load i8, ptr %arrayidx6, align 1, !dbg !115, !tbaa !42 137beffdb9dSMichael Kruse %tmp24 = lshr i8 %tmp23, 2, !dbg !117 138beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %tmp23, metadata !32, metadata !DIExpression(DW_OP_constu, 2, DW_OP_shra, DW_OP_stack_value)), !dbg !118 139beffdb9dSMichael Kruse %addconv.i218 = add nuw nsw i8 %tmp24, 32, !dbg !120 140beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %addconv.i218, metadata !22, metadata !DIExpression()), !dbg !58 141beffdb9dSMichael Kruse %inc11 = add nuw nsw i32 %loffs.0223, 1, !dbg !121 142beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc11, metadata !21, metadata !DIExpression()), !dbg !30 143beffdb9dSMichael Kruse %tmp25 = zext i32 %loffs.0223 to i64, !dbg !122 144b332499aSNikita Popov %arrayidx13 = getelementptr inbounds i8, ptr %line, i64 %tmp25, !dbg !122 145b332499aSNikita Popov store i8 %addconv.i218, ptr %arrayidx13, align 1, !dbg !123, !tbaa !42 146b332499aSNikita Popov %tmp26 = load i8, ptr %arrayidx6, align 1, !dbg !124, !tbaa !42 147beffdb9dSMichael Kruse %shl = shl i8 %tmp26, 4, !dbg !125 148beffdb9dSMichael Kruse %tmp27 = add nsw i64 %indvars.iv, 1, !dbg !126 149b332499aSNikita Popov %arrayidx18 = getelementptr inbounds i8, ptr %input, i64 %tmp27, !dbg !127 150b332499aSNikita Popov %tmp28 = load i8, ptr %arrayidx18, align 1, !dbg !127, !tbaa !42 151beffdb9dSMichael Kruse %tmp29 = ashr i8 %tmp28, 4, !dbg !128 152beffdb9dSMichael Kruse %or = or i8 %tmp29, %shl, !dbg !129 153beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %or, metadata !32, metadata !DIExpression()), !dbg !130 154beffdb9dSMichael Kruse %tmp30 = and i8 %or, 63, !dbg !132 155beffdb9dSMichael Kruse %addconv.i216 = add nuw nsw i8 %tmp30, 32, !dbg !133 156beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %addconv.i216, metadata !22, metadata !DIExpression()), !dbg !58 157beffdb9dSMichael Kruse %inc24 = add nuw nsw i32 %loffs.0223, 2, !dbg !134 158beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc24, metadata !21, metadata !DIExpression()), !dbg !30 159beffdb9dSMichael Kruse %tmp31 = zext i32 %inc11 to i64, !dbg !135 160b332499aSNikita Popov %arrayidx26 = getelementptr inbounds i8, ptr %line, i64 %tmp31, !dbg !135 161b332499aSNikita Popov store i8 %addconv.i216, ptr %arrayidx26, align 1, !dbg !136, !tbaa !42 162b332499aSNikita Popov %tmp32 = load i8, ptr %arrayidx18, align 1, !dbg !137, !tbaa !42 163beffdb9dSMichael Kruse %shl31 = shl i8 %tmp32, 2, !dbg !138 164beffdb9dSMichael Kruse %tmp33 = add nsw i64 %indvars.iv, 2, !dbg !139 165b332499aSNikita Popov %arrayidx34 = getelementptr inbounds i8, ptr %input, i64 %tmp33, !dbg !140 166b332499aSNikita Popov %tmp34 = load i8, ptr %arrayidx34, align 1, !dbg !140, !tbaa !42 167beffdb9dSMichael Kruse %tmp35 = ashr i8 %tmp34, 6, !dbg !141 168beffdb9dSMichael Kruse %or37 = or i8 %tmp35, %shl31, !dbg !142 169beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %or37, metadata !32, metadata !DIExpression()), !dbg !143 170beffdb9dSMichael Kruse %tmp36 = and i8 %or37, 63, !dbg !145 171beffdb9dSMichael Kruse %addconv.i214 = add nuw nsw i8 %tmp36, 32, !dbg !146 172beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %addconv.i214, metadata !22, metadata !DIExpression()), !dbg !58 173beffdb9dSMichael Kruse %inc41 = add nuw nsw i32 %loffs.0223, 3, !dbg !147 174beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc41, metadata !21, metadata !DIExpression()), !dbg !30 175beffdb9dSMichael Kruse %tmp37 = zext i32 %inc24 to i64, !dbg !148 176b332499aSNikita Popov %arrayidx43 = getelementptr inbounds i8, ptr %line, i64 %tmp37, !dbg !148 177b332499aSNikita Popov store i8 %addconv.i214, ptr %arrayidx43, align 1, !dbg !149, !tbaa !42 178b332499aSNikita Popov %tmp38 = load i8, ptr %arrayidx34, align 1, !dbg !150, !tbaa !42 179beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %tmp38, metadata !32, metadata !DIExpression()), !dbg !151 180beffdb9dSMichael Kruse %tmp39 = and i8 %tmp38, 63, !dbg !153 181beffdb9dSMichael Kruse %addconv.i212 = add nuw nsw i8 %tmp39, 32, !dbg !154 182beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i8 %addconv.i212, metadata !22, metadata !DIExpression()), !dbg !58 183beffdb9dSMichael Kruse %inc49 = add nuw nsw i32 %loffs.0223, 4, !dbg !155 184beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc49, metadata !21, metadata !DIExpression()), !dbg !30 185beffdb9dSMichael Kruse %tmp40 = zext i32 %inc41 to i64, !dbg !156 186b332499aSNikita Popov %arrayidx51 = getelementptr inbounds i8, ptr %line, i64 %tmp40, !dbg !156 187b332499aSNikita Popov store i8 %addconv.i212, ptr %arrayidx51, align 1, !dbg !157, !tbaa !42 188beffdb9dSMichael Kruse %indvars.iv.next = add nsw i64 %indvars.iv, 3, !dbg !158 189beffdb9dSMichael Kruse %sub = add nsw i32 %octets.addr.0221, -3, !dbg !159 190beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc49, metadata !21, metadata !DIExpression()), !dbg !30 191beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 undef, metadata !18, metadata !DIExpression(DW_OP_plus_uconst, 3, DW_OP_stack_value)), !dbg !27 192beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %sub, metadata !19, metadata !DIExpression()), !dbg !28 193beffdb9dSMichael Kruse %cmp = icmp eq i32 %octets.addr.0221, 3, !dbg !45 194beffdb9dSMichael Kruse br i1 %cmp, label %for.end, label %for.body, !dbg !46, !llvm.loop !160 195beffdb9dSMichael Kruse 196beffdb9dSMichael Krusefor.end: ; preds = %if.end126, %if.then84, %if.then54, %if.else, %entry.split 197beffdb9dSMichael Kruse %loffs.0.lcssa = phi i32 [ 1, %entry.split ], [ %loffs.0223, %if.else ], [ %inc122, %if.then84 ], [ %inc78, %if.then54 ], [ %inc49, %if.end126 ] 198beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %loffs.0.lcssa, metadata !21, metadata !DIExpression()), !dbg !30 199beffdb9dSMichael Kruse %inc128 = add nsw i32 %loffs.0.lcssa, 1, !dbg !162 200beffdb9dSMichael Kruse call void @llvm.dbg.value(metadata i32 %inc128, metadata !21, metadata !DIExpression()), !dbg !30 201beffdb9dSMichael Kruse %idxprom129 = sext i32 %loffs.0.lcssa to i64, !dbg !163 202b332499aSNikita Popov %arrayidx130 = getelementptr inbounds i8, ptr %line, i64 %idxprom129, !dbg !163 203b332499aSNikita Popov store i8 10, ptr %arrayidx130, align 1, !dbg !164, !tbaa !42 204beffdb9dSMichael Kruse %idxprom131 = sext i32 %inc128 to i64, !dbg !165 205b332499aSNikita Popov %arrayidx132 = getelementptr inbounds i8, ptr %line, i64 %idxprom131, !dbg !165 206b332499aSNikita Popov store i8 0, ptr %arrayidx132, align 1, !dbg !166, !tbaa !42 207beffdb9dSMichael Kruse ret void, !dbg !167 208beffdb9dSMichael Kruse} 209beffdb9dSMichael Kruse 210beffdb9dSMichael Kruse; Function Attrs: nounwind readnone speculatable 211beffdb9dSMichael Krusedeclare void @llvm.dbg.value(metadata, metadata, metadata) #0 212beffdb9dSMichael Kruse 213beffdb9dSMichael Kruseattributes #0 = { nounwind readnone speculatable } 214beffdb9dSMichael Kruse 215beffdb9dSMichael Kruse!llvm.dbg.cu = !{!0} 216beffdb9dSMichael Kruse!llvm.module.flags = !{!5, !6, !7} 217beffdb9dSMichael Kruse!llvm.ident = !{!8} 218beffdb9dSMichael Kruse 219beffdb9dSMichael Kruse!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 7.0.0 (trunk 330016) (llvm/trunk 330038)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !3) 220beffdb9dSMichael Kruse!1 = !DIFile(filename: "C:\5CUsers\5CMeinersbur\5Csrc\5Cllvm\5Ctools\5Cpolly\5Ctest\5Cuuencode.c", directory: "/tmp/runtest-kzqu096e") 221beffdb9dSMichael Kruse!2 = !{} 222beffdb9dSMichael Kruse!3 = !{!4} 223beffdb9dSMichael Kruse!4 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64) 224beffdb9dSMichael Kruse!5 = !{i32 2, !"Dwarf Version", i32 4} 225beffdb9dSMichael Kruse!6 = !{i32 2, !"Debug Info Version", i32 3} 226beffdb9dSMichael Kruse!7 = !{i32 1, !"wchar_size", i32 4} 227beffdb9dSMichael Kruse!8 = !{!"clang version 7.0.0 (trunk 330016) (llvm/trunk 330038)"} 2286bbca364STobias Grosser!9 = distinct !DISubprogram(name: "encode_line", scope: !10, file: !10, line: 79, type: !11, isLocal: false, isDefinition: true, scopeLine: 79, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !16) 229beffdb9dSMichael Kruse!10 = !DIFile(filename: "uuencode.c", directory: "/tmp/runtest-kzqu096e") 230beffdb9dSMichael Kruse!11 = !DISubroutineType(types: !12) 231beffdb9dSMichael Kruse!12 = !{null, !13, !15, !15, !13} 232beffdb9dSMichael Kruse!13 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !14, size: 64) 233beffdb9dSMichael Kruse!14 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char) 234beffdb9dSMichael Kruse!15 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed) 235beffdb9dSMichael Kruse!16 = !{!17, !18, !19, !20, !21, !22} 236beffdb9dSMichael Kruse!17 = !DILocalVariable(name: "input", arg: 1, scope: !9, file: !10, line: 79, type: !13) 237beffdb9dSMichael Kruse!18 = !DILocalVariable(name: "offset", arg: 2, scope: !9, file: !10, line: 79, type: !15) 238beffdb9dSMichael Kruse!19 = !DILocalVariable(name: "octets", arg: 3, scope: !9, file: !10, line: 79, type: !15) 239beffdb9dSMichael Kruse!20 = !DILocalVariable(name: "line", arg: 4, scope: !9, file: !10, line: 79, type: !13) 240beffdb9dSMichael Kruse!21 = !DILocalVariable(name: "loffs", scope: !9, file: !10, line: 80, type: !15) 241beffdb9dSMichael Kruse!22 = !DILocalVariable(name: "ch", scope: !23, file: !10, line: 86, type: !14) 242beffdb9dSMichael Kruse!23 = distinct !DILexicalBlock(scope: !24, file: !10, line: 83, column: 55) 243beffdb9dSMichael Kruse!24 = distinct !DILexicalBlock(scope: !25, file: !10, line: 83, column: 3) 244beffdb9dSMichael Kruse!25 = distinct !DILexicalBlock(scope: !9, file: !10, line: 83, column: 3) 245beffdb9dSMichael Kruse!26 = !DILocation(line: 79, column: 24, scope: !9) 246beffdb9dSMichael Kruse!27 = !DILocation(line: 79, column: 35, scope: !9) 247beffdb9dSMichael Kruse!28 = !DILocation(line: 79, column: 47, scope: !9) 248beffdb9dSMichael Kruse!29 = !DILocation(line: 79, column: 61, scope: !9) 249beffdb9dSMichael Kruse!30 = !DILocation(line: 80, column: 7, scope: !9) 250beffdb9dSMichael Kruse!31 = !DILocation(line: 81, column: 27, scope: !9) 251beffdb9dSMichael Kruse!32 = !DILocalVariable(name: "c", arg: 1, scope: !33, file: !10, line: 75, type: !14) 2526bbca364STobias Grosser!33 = distinct !DISubprogram(name: "encode_char", scope: !10, file: !10, line: 75, type: !34, isLocal: false, isDefinition: true, scopeLine: 75, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !36) 253beffdb9dSMichael Kruse!34 = !DISubroutineType(types: !35) 254beffdb9dSMichael Kruse!35 = !{!15, !14} 255beffdb9dSMichael Kruse!36 = !{!32} 256beffdb9dSMichael Kruse!37 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !38) 257beffdb9dSMichael Kruse!38 = distinct !DILocation(line: 81, column: 15, scope: !9) 258beffdb9dSMichael Kruse!39 = !DILocation(line: 76, column: 17, scope: !33, inlinedAt: !38) 259beffdb9dSMichael Kruse!40 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !38) 260beffdb9dSMichael Kruse!41 = !DILocation(line: 81, column: 14, scope: !9) 261beffdb9dSMichael Kruse!42 = !{!43, !43, i64 0} 262beffdb9dSMichael Kruse!43 = !{!"omnipotent char", !44, i64 0} 263beffdb9dSMichael Kruse!44 = !{!"Simple C/C++ TBAA"} 264beffdb9dSMichael Kruse!45 = !DILocation(line: 83, column: 24, scope: !24) 265beffdb9dSMichael Kruse!46 = !DILocation(line: 83, column: 3, scope: !25) 266beffdb9dSMichael Kruse!47 = !DILocation(line: 87, column: 16, scope: !48) 267beffdb9dSMichael Kruse!48 = distinct !DILexicalBlock(scope: !23, file: !10, line: 87, column: 9) 268beffdb9dSMichael Kruse!49 = !DILocation(line: 87, column: 9, scope: !23) 269beffdb9dSMichael Kruse!50 = !DILocation(line: 99, column: 23, scope: !51) 270beffdb9dSMichael Kruse!51 = distinct !DILexicalBlock(scope: !52, file: !10, line: 98, column: 24) 271beffdb9dSMichael Kruse!52 = distinct !DILexicalBlock(scope: !53, file: !10, line: 98, column: 11) 272beffdb9dSMichael Kruse!53 = distinct !DILexicalBlock(scope: !48, file: !10, line: 97, column: 12) 273beffdb9dSMichael Kruse!54 = !DILocation(line: 99, column: 37, scope: !51) 274beffdb9dSMichael Kruse!55 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !56) 275beffdb9dSMichael Kruse!56 = distinct !DILocation(line: 99, column: 10, scope: !51) 276beffdb9dSMichael Kruse!57 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !56) 277beffdb9dSMichael Kruse!58 = !DILocation(line: 86, column: 10, scope: !23) 278beffdb9dSMichael Kruse!59 = !DILocation(line: 100, column: 15, scope: !51) 279beffdb9dSMichael Kruse!60 = !DILocation(line: 100, column: 5, scope: !51) 280beffdb9dSMichael Kruse!61 = !DILocation(line: 100, column: 19, scope: !51) 281beffdb9dSMichael Kruse!62 = !DILocation(line: 101, column: 23, scope: !51) 282beffdb9dSMichael Kruse!63 = !DILocation(line: 101, column: 37, scope: !51) 283beffdb9dSMichael Kruse!64 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !65) 284beffdb9dSMichael Kruse!65 = distinct !DILocation(line: 101, column: 10, scope: !51) 285beffdb9dSMichael Kruse!66 = !DILocation(line: 76, column: 17, scope: !33, inlinedAt: !65) 286beffdb9dSMichael Kruse!67 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !65) 287beffdb9dSMichael Kruse!68 = !DILocation(line: 102, column: 15, scope: !51) 288beffdb9dSMichael Kruse!69 = !DILocation(line: 102, column: 5, scope: !51) 289beffdb9dSMichael Kruse!70 = !DILocation(line: 102, column: 19, scope: !51) 290beffdb9dSMichael Kruse!71 = !DILocation(line: 103, column: 15, scope: !51) 291beffdb9dSMichael Kruse!72 = !DILocation(line: 103, column: 5, scope: !51) 292beffdb9dSMichael Kruse!73 = !DILocation(line: 103, column: 19, scope: !51) 293beffdb9dSMichael Kruse!74 = !DILocation(line: 104, column: 15, scope: !51) 294beffdb9dSMichael Kruse!75 = !DILocation(line: 104, column: 5, scope: !51) 295beffdb9dSMichael Kruse!76 = !DILocation(line: 104, column: 19, scope: !51) 296beffdb9dSMichael Kruse!77 = !DILocation(line: 106, column: 4, scope: !51) 297beffdb9dSMichael Kruse!78 = !DILocation(line: 108, column: 25, scope: !79) 298beffdb9dSMichael Kruse!79 = distinct !DILexicalBlock(scope: !80, file: !10, line: 107, column: 22) 299beffdb9dSMichael Kruse!80 = distinct !DILexicalBlock(scope: !81, file: !10, line: 107, column: 9) 300beffdb9dSMichael Kruse!81 = distinct !DILexicalBlock(scope: !52, file: !10, line: 106, column: 11) 301beffdb9dSMichael Kruse!82 = !DILocation(line: 108, column: 40, scope: !79) 302beffdb9dSMichael Kruse!83 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !84) 303beffdb9dSMichael Kruse!84 = distinct !DILocation(line: 108, column: 11, scope: !79) 304beffdb9dSMichael Kruse!85 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !84) 305beffdb9dSMichael Kruse!86 = !DILocation(line: 109, column: 16, scope: !79) 306beffdb9dSMichael Kruse!87 = !DILocation(line: 109, column: 6, scope: !79) 307beffdb9dSMichael Kruse!88 = !DILocation(line: 109, column: 20, scope: !79) 308beffdb9dSMichael Kruse!89 = !DILocation(line: 110, column: 25, scope: !79) 309beffdb9dSMichael Kruse!90 = !DILocation(line: 110, column: 39, scope: !79) 310beffdb9dSMichael Kruse!91 = !DILocation(line: 110, column: 60, scope: !79) 311beffdb9dSMichael Kruse!92 = !DILocation(line: 110, column: 48, scope: !79) 312beffdb9dSMichael Kruse!93 = !DILocation(line: 110, column: 64, scope: !79) 313beffdb9dSMichael Kruse!94 = !DILocation(line: 110, column: 45, scope: !79) 314beffdb9dSMichael Kruse!95 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !96) 315beffdb9dSMichael Kruse!96 = distinct !DILocation(line: 110, column: 11, scope: !79) 316beffdb9dSMichael Kruse!97 = !DILocation(line: 76, column: 17, scope: !33, inlinedAt: !96) 317beffdb9dSMichael Kruse!98 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !96) 318beffdb9dSMichael Kruse!99 = !DILocation(line: 111, column: 16, scope: !79) 319beffdb9dSMichael Kruse!100 = !DILocation(line: 111, column: 6, scope: !79) 320beffdb9dSMichael Kruse!101 = !DILocation(line: 111, column: 20, scope: !79) 321beffdb9dSMichael Kruse!102 = !DILocation(line: 112, column: 24, scope: !79) 322beffdb9dSMichael Kruse!103 = !DILocation(line: 112, column: 40, scope: !79) 323beffdb9dSMichael Kruse!104 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !105) 324beffdb9dSMichael Kruse!105 = distinct !DILocation(line: 112, column: 11, scope: !79) 325beffdb9dSMichael Kruse!106 = !DILocation(line: 76, column: 17, scope: !33, inlinedAt: !105) 326beffdb9dSMichael Kruse!107 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !105) 327beffdb9dSMichael Kruse!108 = !DILocation(line: 113, column: 16, scope: !79) 328beffdb9dSMichael Kruse!109 = !DILocation(line: 113, column: 6, scope: !79) 329beffdb9dSMichael Kruse!110 = !DILocation(line: 113, column: 20, scope: !79) 330beffdb9dSMichael Kruse!111 = !DILocation(line: 114, column: 16, scope: !79) 331beffdb9dSMichael Kruse!112 = !DILocation(line: 114, column: 6, scope: !79) 332beffdb9dSMichael Kruse!113 = !DILocation(line: 114, column: 20, scope: !79) 333beffdb9dSMichael Kruse!114 = !DILocation(line: 116, column: 5, scope: !79) 334beffdb9dSMichael Kruse!115 = !DILocation(line: 88, column: 25, scope: !116) 335beffdb9dSMichael Kruse!116 = distinct !DILexicalBlock(scope: !48, file: !10, line: 87, column: 22) 336beffdb9dSMichael Kruse!117 = !DILocation(line: 88, column: 39, scope: !116) 337beffdb9dSMichael Kruse!118 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !119) 338beffdb9dSMichael Kruse!119 = distinct !DILocation(line: 88, column: 12, scope: !116) 339beffdb9dSMichael Kruse!120 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !119) 340beffdb9dSMichael Kruse!121 = !DILocation(line: 89, column: 17, scope: !116) 341beffdb9dSMichael Kruse!122 = !DILocation(line: 89, column: 7, scope: !116) 342beffdb9dSMichael Kruse!123 = !DILocation(line: 89, column: 21, scope: !116) 343beffdb9dSMichael Kruse!124 = !DILocation(line: 90, column: 26, scope: !116) 344beffdb9dSMichael Kruse!125 = !DILocation(line: 90, column: 40, scope: !116) 345beffdb9dSMichael Kruse!126 = !DILocation(line: 90, column: 61, scope: !116) 346beffdb9dSMichael Kruse!127 = !DILocation(line: 90, column: 49, scope: !116) 347beffdb9dSMichael Kruse!128 = !DILocation(line: 90, column: 65, scope: !116) 348beffdb9dSMichael Kruse!129 = !DILocation(line: 90, column: 46, scope: !116) 349beffdb9dSMichael Kruse!130 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !131) 350beffdb9dSMichael Kruse!131 = distinct !DILocation(line: 90, column: 12, scope: !116) 351beffdb9dSMichael Kruse!132 = !DILocation(line: 76, column: 17, scope: !33, inlinedAt: !131) 352beffdb9dSMichael Kruse!133 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !131) 353beffdb9dSMichael Kruse!134 = !DILocation(line: 91, column: 17, scope: !116) 354beffdb9dSMichael Kruse!135 = !DILocation(line: 91, column: 7, scope: !116) 355beffdb9dSMichael Kruse!136 = !DILocation(line: 91, column: 21, scope: !116) 356beffdb9dSMichael Kruse!137 = !DILocation(line: 92, column: 26, scope: !116) 357beffdb9dSMichael Kruse!138 = !DILocation(line: 92, column: 42, scope: !116) 358beffdb9dSMichael Kruse!139 = !DILocation(line: 92, column: 63, scope: !116) 359beffdb9dSMichael Kruse!140 = !DILocation(line: 92, column: 51, scope: !116) 360beffdb9dSMichael Kruse!141 = !DILocation(line: 92, column: 67, scope: !116) 361beffdb9dSMichael Kruse!142 = !DILocation(line: 92, column: 48, scope: !116) 362beffdb9dSMichael Kruse!143 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !144) 363beffdb9dSMichael Kruse!144 = distinct !DILocation(line: 92, column: 12, scope: !116) 364beffdb9dSMichael Kruse!145 = !DILocation(line: 76, column: 17, scope: !33, inlinedAt: !144) 365beffdb9dSMichael Kruse!146 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !144) 366beffdb9dSMichael Kruse!147 = !DILocation(line: 93, column: 17, scope: !116) 367beffdb9dSMichael Kruse!148 = !DILocation(line: 93, column: 7, scope: !116) 368beffdb9dSMichael Kruse!149 = !DILocation(line: 93, column: 21, scope: !116) 369beffdb9dSMichael Kruse!150 = !DILocation(line: 94, column: 25, scope: !116) 370beffdb9dSMichael Kruse!151 = !DILocation(line: 75, column: 18, scope: !33, inlinedAt: !152) 371beffdb9dSMichael Kruse!152 = distinct !DILocation(line: 94, column: 12, scope: !116) 372beffdb9dSMichael Kruse!153 = !DILocation(line: 76, column: 17, scope: !33, inlinedAt: !152) 373beffdb9dSMichael Kruse!154 = !DILocation(line: 76, column: 13, scope: !33, inlinedAt: !152) 374beffdb9dSMichael Kruse!155 = !DILocation(line: 95, column: 17, scope: !116) 375beffdb9dSMichael Kruse!156 = !DILocation(line: 95, column: 7, scope: !116) 376beffdb9dSMichael Kruse!157 = !DILocation(line: 95, column: 21, scope: !116) 377beffdb9dSMichael Kruse!158 = !DILocation(line: 83, column: 36, scope: !24) 378beffdb9dSMichael Kruse!159 = !DILocation(line: 83, column: 49, scope: !24) 379beffdb9dSMichael Kruse!160 = distinct !{!160, !46, !161} 380beffdb9dSMichael Kruse!161 = !DILocation(line: 119, column: 3, scope: !25) 381beffdb9dSMichael Kruse!162 = !DILocation(line: 121, column: 13, scope: !9) 382beffdb9dSMichael Kruse!163 = !DILocation(line: 121, column: 3, scope: !9) 383beffdb9dSMichael Kruse!164 = !DILocation(line: 121, column: 17, scope: !9) 384beffdb9dSMichael Kruse!165 = !DILocation(line: 122, column: 3, scope: !9) 385beffdb9dSMichael Kruse!166 = !DILocation(line: 122, column: 15, scope: !9) 386beffdb9dSMichael Kruse!167 = !DILocation(line: 124, column: 1, scope: !9) 387