mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 06:25:18 +00:00
Add bool to DebugLocDwarfExpression to control emitting comments.
DebugLocDwarfExpression::EmitOp was creating temporary strings by concatenating Twine's. When emitting to object files, these comments are thrown away. This commit adds a boolean to the constructor of the DwarfExpression to control whether it will actually emit any comments. This prevents it from even generating the temporary comments which would have been thrown away anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237827 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -108,6 +108,8 @@ static const char *const DWARFGroupName = "DWARF Emission";
|
||||
static const char *const DbgTimerName = "DWARF Debug Writer";
|
||||
|
||||
void DebugLocDwarfExpression::EmitOp(uint8_t Op, const char *Comment) {
|
||||
if (!PrintComments)
|
||||
return BS.EmitInt8(Op, Twine());
|
||||
BS.EmitInt8(
|
||||
Op, Comment ? Twine(Comment) + " " + dwarf::OperationEncodingString(Op)
|
||||
: dwarf::OperationEncodingString(Op));
|
||||
@@ -1477,6 +1479,7 @@ static void emitDebugLocValue(const AsmPrinter &AP, const DIBasicType *BT,
|
||||
unsigned PieceOffsetInBits) {
|
||||
DebugLocDwarfExpression DwarfExpr(*AP.MF->getSubtarget().getRegisterInfo(),
|
||||
AP.getDwarfDebug()->getDwarfVersion(),
|
||||
AP.OutStreamer->hasRawTextSupport(),
|
||||
Streamer);
|
||||
// Regular entry.
|
||||
if (Value.isInt()) {
|
||||
@@ -1530,6 +1533,7 @@ void DebugLocEntry::finalize(const AsmPrinter &AP, DebugLocStream &Locs,
|
||||
// The DWARF spec seriously mandates pieces with no locations for gaps.
|
||||
DebugLocDwarfExpression Expr(*AP.MF->getSubtarget().getRegisterInfo(),
|
||||
AP.getDwarfDebug()->getDwarfVersion(),
|
||||
AP.OutStreamer->hasRawTextSupport(),
|
||||
Streamer);
|
||||
Expr.AddOpPiece(PieceOffset-Offset, 0);
|
||||
Offset += PieceOffset-Offset;
|
||||
|
Reference in New Issue
Block a user