@@ -138,15 +138,13 @@ define i32 @eval_trunc_multi_use_in_one_inst(i32 %x) {
138138; DBGINFO-NEXT: ret i32 [[M]], !dbg [[DBG61:![0-9]+]]
139139;
140140; DIOP-DBGINFO-LABEL: @eval_trunc_multi_use_in_one_inst(
141- ; DIOP-DBGINFO-NEXT: [[Z:%.*]] = zext i32 [[X:%.*]] to i64, !dbg [[DBG57:![0-9]+]]
142- ; DIOP-DBGINFO-NEXT: #dbg_value(i64 [[Z]], [[META52:![0-9]+]], !DIExpression(DIOpArg(0, i64)), [[DBG57]])
143- ; DIOP-DBGINFO-NEXT: [[A:%.*]] = add nuw nsw i64 [[Z]], 15, !dbg [[DBG58:![0-9]+]]
144- ; DIOP-DBGINFO-NEXT: #dbg_value(i64 [[A]], [[META54:![0-9]+]], !DIExpression(DIOpArg(0, i64)), [[DBG58]])
145- ; DIOP-DBGINFO-NEXT: [[M:%.*]] = mul i64 [[A]], [[A]], !dbg [[DBG59:![0-9]+]]
146- ; DIOP-DBGINFO-NEXT: #dbg_value(i64 [[M]], [[META55:![0-9]+]], !DIExpression(DIOpArg(0, i64)), [[DBG59]])
147- ; DIOP-DBGINFO-NEXT: [[T:%.*]] = trunc i64 [[M]] to i32, !dbg [[DBG60:![0-9]+]]
148- ; DIOP-DBGINFO-NEXT: #dbg_value(i32 [[T]], [[META56:![0-9]+]], !DIExpression(DIOpArg(0, i32)), [[DBG60]])
149- ; DIOP-DBGINFO-NEXT: ret i32 [[T]], !dbg [[DBG61:![0-9]+]]
141+ ; DIOP-DBGINFO-NEXT: #dbg_value(i32 [[X:%.*]], [[META52:![0-9]+]], !DIExpression(DIOpArg(0, i32), DIOpZExt(i64)), [[META57:![0-9]+]])
142+ ; DIOP-DBGINFO-NEXT: [[A:%.*]] = add i32 [[X]], 15, !dbg [[DBG58:![0-9]+]]
143+ ; DIOP-DBGINFO-NEXT: #dbg_value(i32 [[X]], [[META54:![0-9]+]], !DIExpression(DIOpArg(0, i32), DIOpZExt(i64), DIOpConstant(i64 15), DIOpAdd()), [[DBG58]])
144+ ; DIOP-DBGINFO-NEXT: [[M:%.*]] = mul i32 [[A]], [[A]], !dbg [[DBG59:![0-9]+]]
145+ ; DIOP-DBGINFO-NEXT: #dbg_value(!DIArgList(i32 [[X]], i32 [[X]]), [[META55:![0-9]+]], !DIExpression(DIOpArg(0, i32), DIOpZExt(i64), DIOpConstant(i64 15), DIOpAdd(), DIOpArg(1, i32), DIOpZExt(i64), DIOpConstant(i64 15), DIOpAdd(), DIOpMul()), [[DBG59]])
146+ ; DIOP-DBGINFO-NEXT: #dbg_value(i32 [[M]], [[META56:![0-9]+]], !DIExpression(DIOpArg(0, i32)), [[META60:![0-9]+]])
147+ ; DIOP-DBGINFO-NEXT: ret i32 [[M]], !dbg [[DBG61:![0-9]+]]
150148;
151149 %z = zext i32 %x to i64
152150 %a = add nsw nuw i64 %z , 15
@@ -211,17 +209,15 @@ define i32 @eval_sext_multi_use_in_one_inst(i32 %x) {
211209; DBGINFO-NEXT: ret i32 [[O]], !dbg [[DBG86:![0-9]+]]
212210;
213211; DIOP-DBGINFO-LABEL: @eval_sext_multi_use_in_one_inst(
214- ; DIOP-DBGINFO-NEXT: [[T:%.*]] = trunc i32 [[X:%.*]] to i16, !dbg [[DBG81:![0-9]+]]
215- ; DIOP-DBGINFO-NEXT: #dbg_value(i16 [[T]], [[META76:![0-9]+]], !DIExpression(DIOpArg(0, i16)), [[DBG81]])
216- ; DIOP-DBGINFO-NEXT: [[A:%.*]] = and i16 [[T]], 14, !dbg [[DBG82:![0-9]+]]
217- ; DIOP-DBGINFO-NEXT: #dbg_value(i16 [[A]], [[META77:![0-9]+]], !DIExpression(DIOpArg(0, i16)), [[DBG82]])
218- ; DIOP-DBGINFO-NEXT: [[M:%.*]] = mul nuw nsw i16 [[A]], [[A]], !dbg [[DBG83:![0-9]+]]
219- ; DIOP-DBGINFO-NEXT: #dbg_value(i16 [[M]], [[META78:![0-9]+]], !DIExpression(DIOpArg(0, i16)), [[DBG83]])
220- ; DIOP-DBGINFO-NEXT: [[O:%.*]] = or disjoint i16 [[M]], -32768, !dbg [[DBG84:![0-9]+]]
221- ; DIOP-DBGINFO-NEXT: #dbg_value(i16 [[O]], [[META79:![0-9]+]], !DIExpression(DIOpArg(0, i16)), [[DBG84]])
222- ; DIOP-DBGINFO-NEXT: [[R:%.*]] = sext i16 [[O]] to i32, !dbg [[DBG85:![0-9]+]]
223- ; DIOP-DBGINFO-NEXT: #dbg_value(i32 [[R]], [[META80:![0-9]+]], !DIExpression(DIOpArg(0, i32)), [[DBG85]])
224- ; DIOP-DBGINFO-NEXT: ret i32 [[R]], !dbg [[DBG86:![0-9]+]]
212+ ; DIOP-DBGINFO-NEXT: #dbg_value(i32 [[X:%.*]], [[META76:![0-9]+]], !DIExpression(DIOpArg(0, i32), DIOpConvert(i16)), [[META81:![0-9]+]])
213+ ; DIOP-DBGINFO-NEXT: [[A:%.*]] = and i32 [[X]], 14, !dbg [[DBG82:![0-9]+]]
214+ ; DIOP-DBGINFO-NEXT: #dbg_value(i32 [[X]], [[META77:![0-9]+]], !DIExpression(DIOpArg(0, i32), DIOpConvert(i16), DIOpConstant(i16 14), DIOpAnd()), [[DBG82]])
215+ ; DIOP-DBGINFO-NEXT: [[M:%.*]] = mul nuw nsw i32 [[A]], [[A]], !dbg [[DBG83:![0-9]+]]
216+ ; DIOP-DBGINFO-NEXT: #dbg_value(!DIArgList(i32 [[X]], i32 [[X]]), [[META78:![0-9]+]], !DIExpression(DIOpArg(0, i32), DIOpConvert(i16), DIOpConstant(i16 14), DIOpAnd(), DIOpArg(1, i32), DIOpConvert(i16), DIOpConstant(i16 14), DIOpAnd(), DIOpMul()), [[DBG83]])
217+ ; DIOP-DBGINFO-NEXT: [[O:%.*]] = or disjoint i32 [[M]], -32768, !dbg [[DBG84:![0-9]+]]
218+ ; DIOP-DBGINFO-NEXT: #dbg_value(!DIArgList(i32 [[X]], i32 [[X]]), [[META79:![0-9]+]], !DIExpression(DIOpArg(0, i32), DIOpConvert(i16), DIOpConstant(i16 14), DIOpAnd(), DIOpArg(1, i32), DIOpConvert(i16), DIOpConstant(i16 14), DIOpAnd(), DIOpMul(), DIOpConstant(i16 -32768), DIOpOr()), [[DBG84]])
219+ ; DIOP-DBGINFO-NEXT: #dbg_value(i32 [[O]], [[META80:![0-9]+]], !DIExpression(DIOpArg(0, i32)), [[META85:![0-9]+]])
220+ ; DIOP-DBGINFO-NEXT: ret i32 [[O]], !dbg [[DBG86:![0-9]+]]
225221;
226222 %t = trunc i32 %x to i16
227223 %a = and i16 %t , 14
0 commit comments