diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp index 2803c8e087fc..6533cbe6810b 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp @@ -638,14 +638,12 @@ void DwarfExpression::addFragmentOffset(const DIExpression *Expr) { void DwarfExpression::emitLegacySExt(unsigned FromBits) { // (((X >> (FromBits - 1)) * (~0)) << FromBits) | X emitOp(dwarf::DW_OP_dup); - emitOp(dwarf::DW_OP_constu); - emitUnsigned(FromBits - 1); + emitConstu(FromBits - 1); emitOp(dwarf::DW_OP_shr); emitOp(dwarf::DW_OP_lit0); emitOp(dwarf::DW_OP_not); emitOp(dwarf::DW_OP_mul); - emitOp(dwarf::DW_OP_constu); - emitUnsigned(FromBits); + emitConstu(FromBits); emitOp(dwarf::DW_OP_shl); emitOp(dwarf::DW_OP_or); } @@ -653,8 +651,7 @@ void DwarfExpression::emitLegacySExt(unsigned FromBits) { void DwarfExpression::emitLegacyZExt(unsigned FromBits, unsigned ToBits) { if (FromBits < 64) { // X & ((1 << FromBits) - 1) - emitOp(dwarf::DW_OP_constu); - emitUnsigned((1ULL << FromBits) - 1); + emitConstu((1ULL << FromBits) - 1); emitOp(dwarf::DW_OP_and); } else { addOpPiece(FromBits, 0); diff --git a/llvm/test/DebugInfo/X86/convert-debugloc.ll b/llvm/test/DebugInfo/X86/convert-debugloc.ll index a61127ab6932..f00079556de2 100644 --- a/llvm/test/DebugInfo/X86/convert-debugloc.ll +++ b/llvm/test/DebugInfo/X86/convert-debugloc.ll @@ -62,7 +62,7 @@ ; NOCONV: DW_TAG_formal_parameter ; NOCONV: DW_TAG_variable ; NOCONV: DW_AT_location ( -; NOCONV: {{.*}}, DW_OP_dup, DW_OP_constu 0x7, DW_OP_shr, DW_OP_lit0, DW_OP_not, DW_OP_mul, DW_OP_constu 0x8, DW_OP_shl, DW_OP_or, DW_OP_stack_value) +; NOCONV: {{.*}}, DW_OP_dup, DW_OP_lit7, DW_OP_shr, DW_OP_lit0, DW_OP_not, DW_OP_mul, DW_OP_lit8, DW_OP_shl, DW_OP_or, DW_OP_stack_value) ; NOCONV: DW_AT_name ("y") ; NOCONV: NULL ; NOCONV: DW_TAG_base_type diff --git a/llvm/test/DebugInfo/X86/convert-inlined.ll b/llvm/test/DebugInfo/X86/convert-inlined.ll index 5e28a7293d80..56379b2215c5 100644 --- a/llvm/test/DebugInfo/X86/convert-inlined.ll +++ b/llvm/test/DebugInfo/X86/convert-inlined.ll @@ -26,7 +26,7 @@ ; DW4: DW_TAG_compile_unit ; DW4: DW_TAG_variable ; DW4: DW_AT_name ("global") -; DW4: DW_AT_location (DW_OP_addr 0x0, DW_OP_deref, DW_OP_dup, DW_OP_constu 0x7, DW_OP_shr, DW_OP_lit0, DW_OP_not, DW_OP_mul, DW_OP_constu 0x8, DW_OP_shl, DW_OP_or, DW_OP_stack_value) +; DW4: DW_AT_location (DW_OP_addr 0x0, DW_OP_deref, DW_OP_dup, DW_OP_lit7, DW_OP_shr, DW_OP_lit0, DW_OP_not, DW_OP_mul, DW_OP_lit8, DW_OP_shl, DW_OP_or, DW_OP_stack_value) ; DW4: DW_TAG_base_type ; DW4: DW_AT_name ("int") ; DW4: NULL