mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-22 13:29:44 +00:00
Reduce clutter in asm output. Do not emit source location as comment for each instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129715 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5d5ef4a886
commit
3f3bf9387b
@ -422,7 +422,8 @@ namespace llvm {
|
|||||||
virtual void EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
virtual void EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
||||||
unsigned Column, unsigned Flags,
|
unsigned Column, unsigned Flags,
|
||||||
unsigned Isa,
|
unsigned Isa,
|
||||||
unsigned Discriminator);
|
unsigned Discriminator,
|
||||||
|
StringRef FileName);
|
||||||
|
|
||||||
virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||||
const MCSymbol *LastLabel,
|
const MCSymbol *LastLabel,
|
||||||
|
@ -486,39 +486,11 @@ void AsmPrinter::EmitFunctionEntryLabel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void EmitDebugLoc(DebugLoc DL, const MachineFunction *MF,
|
|
||||||
raw_ostream &CommentOS) {
|
|
||||||
const LLVMContext &Ctx = MF->getFunction()->getContext();
|
|
||||||
if (!DL.isUnknown()) { // Print source line info.
|
|
||||||
DIScope Scope(DL.getScope(Ctx));
|
|
||||||
// Omit the directory, because it's likely to be long and uninteresting.
|
|
||||||
if (Scope.Verify())
|
|
||||||
CommentOS << Scope.getFilename();
|
|
||||||
else
|
|
||||||
CommentOS << "<unknown>";
|
|
||||||
CommentOS << ':' << DL.getLine();
|
|
||||||
if (DL.getCol() != 0)
|
|
||||||
CommentOS << ':' << DL.getCol();
|
|
||||||
DebugLoc InlinedAtDL = DebugLoc::getFromDILocation(DL.getInlinedAt(Ctx));
|
|
||||||
if (!InlinedAtDL.isUnknown()) {
|
|
||||||
CommentOS << "[ ";
|
|
||||||
EmitDebugLoc(InlinedAtDL, MF, CommentOS);
|
|
||||||
CommentOS << " ]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// EmitComments - Pretty-print comments for instructions.
|
/// EmitComments - Pretty-print comments for instructions.
|
||||||
static void EmitComments(const MachineInstr &MI, raw_ostream &CommentOS) {
|
static void EmitComments(const MachineInstr &MI, raw_ostream &CommentOS) {
|
||||||
const MachineFunction *MF = MI.getParent()->getParent();
|
const MachineFunction *MF = MI.getParent()->getParent();
|
||||||
const TargetMachine &TM = MF->getTarget();
|
const TargetMachine &TM = MF->getTarget();
|
||||||
|
|
||||||
DebugLoc DL = MI.getDebugLoc();
|
|
||||||
if (!DL.isUnknown()) { // Print source line info.
|
|
||||||
EmitDebugLoc(DL, MF, CommentOS);
|
|
||||||
CommentOS << '\n';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check for spills and reloads
|
// Check for spills and reloads
|
||||||
int FI;
|
int FI;
|
||||||
|
|
||||||
|
@ -2146,9 +2146,8 @@ void DwarfDebug::recordSourceLine(unsigned Line, unsigned Col, const MDNode *S){
|
|||||||
|
|
||||||
Src = GetOrCreateSourceID(Fn, Dir);
|
Src = GetOrCreateSourceID(Fn, Dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
Asm->OutStreamer.EmitDwarfLocDirective(Src, Line, Col, DWARF2_FLAG_IS_STMT,
|
Asm->OutStreamer.EmitDwarfLocDirective(Src, Line, Col, DWARF2_FLAG_IS_STMT,
|
||||||
0, 0);
|
0, 0, Fn);
|
||||||
}
|
}
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
@ -182,7 +182,8 @@ public:
|
|||||||
virtual bool EmitDwarfFileDirective(unsigned FileNo, StringRef Filename);
|
virtual bool EmitDwarfFileDirective(unsigned FileNo, StringRef Filename);
|
||||||
virtual void EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
virtual void EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
||||||
unsigned Column, unsigned Flags,
|
unsigned Column, unsigned Flags,
|
||||||
unsigned Isa, unsigned Discriminator);
|
unsigned Isa, unsigned Discriminator,
|
||||||
|
StringRef FileName);
|
||||||
|
|
||||||
virtual void EmitCFIStartProc();
|
virtual void EmitCFIStartProc();
|
||||||
virtual void EmitCFIEndProc();
|
virtual void EmitCFIEndProc();
|
||||||
@ -689,9 +690,10 @@ bool MCAsmStreamer::EmitDwarfFileDirective(unsigned FileNo, StringRef Filename){
|
|||||||
void MCAsmStreamer::EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
void MCAsmStreamer::EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
||||||
unsigned Column, unsigned Flags,
|
unsigned Column, unsigned Flags,
|
||||||
unsigned Isa,
|
unsigned Isa,
|
||||||
unsigned Discriminator) {
|
unsigned Discriminator,
|
||||||
|
StringRef FileName) {
|
||||||
this->MCStreamer::EmitDwarfLocDirective(FileNo, Line, Column, Flags,
|
this->MCStreamer::EmitDwarfLocDirective(FileNo, Line, Column, Flags,
|
||||||
Isa, Discriminator);
|
Isa, Discriminator, FileName);
|
||||||
if (!UseLoc)
|
if (!UseLoc)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -717,6 +719,12 @@ void MCAsmStreamer::EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
|||||||
OS << "isa " << Isa;
|
OS << "isa " << Isa;
|
||||||
if (Discriminator)
|
if (Discriminator)
|
||||||
OS << "discriminator " << Discriminator;
|
OS << "discriminator " << Discriminator;
|
||||||
|
|
||||||
|
if (IsVerboseAsm) {
|
||||||
|
OS.PadToColumn(MAI.getCommentColumn());
|
||||||
|
OS << MAI.getCommentString() << ' ' << FileName << ':'
|
||||||
|
<< Line << ':' << Column;
|
||||||
|
}
|
||||||
EmitEOL();
|
EmitEOL();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -215,13 +215,14 @@ public:
|
|||||||
|
|
||||||
virtual void EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
virtual void EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
||||||
unsigned Column, unsigned Flags,
|
unsigned Column, unsigned Flags,
|
||||||
unsigned Isa, unsigned Discriminator) {
|
unsigned Isa, unsigned Discriminator,
|
||||||
|
StringRef FileName) {
|
||||||
LogCall("EmitDwarfLocDirective",
|
LogCall("EmitDwarfLocDirective",
|
||||||
"FileNo:" + Twine(FileNo) + " Line:" + Twine(Line) +
|
"FileNo:" + Twine(FileNo) + " Line:" + Twine(Line) +
|
||||||
" Column:" + Twine(Column) + " Flags:" + Twine(Flags) +
|
" Column:" + Twine(Column) + " Flags:" + Twine(Flags) +
|
||||||
" Isa:" + Twine(Isa) + " Discriminator:" + Twine(Discriminator));
|
" Isa:" + Twine(Isa) + " Discriminator:" + Twine(Discriminator));
|
||||||
return Child->EmitDwarfLocDirective(FileNo, Line, Column, Flags,
|
return Child->EmitDwarfLocDirective(FileNo, Line, Column, Flags,
|
||||||
Isa, Discriminator);
|
Isa, Discriminator, FileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void EmitInstruction(const MCInst &Inst) {
|
virtual void EmitInstruction(const MCInst &Inst) {
|
||||||
|
@ -89,7 +89,8 @@ namespace {
|
|||||||
}
|
}
|
||||||
virtual void EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
virtual void EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
||||||
unsigned Column, unsigned Flags,
|
unsigned Column, unsigned Flags,
|
||||||
unsigned Isa, unsigned Discriminator) {}
|
unsigned Isa, unsigned Discriminator,
|
||||||
|
StringRef FileName) {}
|
||||||
virtual void EmitInstruction(const MCInst &Inst) {}
|
virtual void EmitInstruction(const MCInst &Inst) {}
|
||||||
|
|
||||||
virtual void Finish() {}
|
virtual void Finish() {}
|
||||||
|
@ -2253,7 +2253,7 @@ bool GenericAsmParser::ParseDirectiveLoc(StringRef, SMLoc DirectiveLoc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getStreamer().EmitDwarfLocDirective(FileNumber, LineNumber, ColumnPos, Flags,
|
getStreamer().EmitDwarfLocDirective(FileNumber, LineNumber, ColumnPos, Flags,
|
||||||
Isa, Discriminator);
|
Isa, Discriminator, StringRef());
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -135,7 +135,8 @@ bool MCStreamer::EmitDwarfFileDirective(unsigned FileNo,
|
|||||||
void MCStreamer::EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
void MCStreamer::EmitDwarfLocDirective(unsigned FileNo, unsigned Line,
|
||||||
unsigned Column, unsigned Flags,
|
unsigned Column, unsigned Flags,
|
||||||
unsigned Isa,
|
unsigned Isa,
|
||||||
unsigned Discriminator) {
|
unsigned Discriminator,
|
||||||
|
StringRef FileName) {
|
||||||
getContext().setCurrentDwarfLoc(FileNo, Line, Column, Flags, Isa,
|
getContext().setCurrentDwarfLoc(FileNo, Line, Column, Flags, Isa,
|
||||||
Discriminator);
|
Discriminator);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user