mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 21:32:39 +00:00
add the comments of each declaration follow it, making it easier to read and compare to GCC's result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138009 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
26665de4f7
commit
f1f6de1c9b
@ -526,29 +526,26 @@ void DwarfException::EmitExceptionTable() {
|
||||
I = CallSites.begin(), E = CallSites.end(); I != E; ++I, ++idx) {
|
||||
const CallSiteEntry &S = *I;
|
||||
|
||||
// Offset of the landing pad, counted in 16-byte bundles relative to the
|
||||
// @LPStart address.
|
||||
if (VerboseAsm) {
|
||||
// Emit comments that decode the call site.
|
||||
Asm->OutStreamer.AddComment(Twine(">> Call Site ") +
|
||||
llvm::utostr(idx) + " <<");
|
||||
Asm->OutStreamer.AddComment(Twine(" On exception at call site ") +
|
||||
llvm::utostr(idx));
|
||||
|
||||
if (S.Action == 0)
|
||||
Asm->OutStreamer.AddComment(" Action: cleanup");
|
||||
else
|
||||
Asm->OutStreamer.AddComment(Twine(" Action: ") +
|
||||
llvm::utostr((S.Action - 1) / 2 + 1));
|
||||
|
||||
Asm->OutStreamer.AddBlankLine();
|
||||
}
|
||||
|
||||
// Offset of the landing pad, counted in 16-byte bundles relative to the
|
||||
// @LPStart address.
|
||||
Asm->EmitULEB128(idx);
|
||||
|
||||
// Offset of the first associated action record, relative to the start of
|
||||
// the action table. This value is biased by 1 (1 indicates the start of
|
||||
// the action table), and 0 indicates that there are no actions.
|
||||
if (VerboseAsm) {
|
||||
if (S.Action == 0)
|
||||
Asm->OutStreamer.AddComment(" Action: cleanup");
|
||||
else
|
||||
Asm->OutStreamer.AddComment(Twine(" Action: ") +
|
||||
llvm::utostr((S.Action - 1) / 2 + 1));
|
||||
}
|
||||
Asm->EmitULEB128(S.Action);
|
||||
}
|
||||
} else {
|
||||
@ -594,46 +591,43 @@ void DwarfException::EmitExceptionTable() {
|
||||
if (EndLabel == 0)
|
||||
EndLabel = Asm->GetTempSymbol("eh_func_end", Asm->getFunctionNumber());
|
||||
|
||||
if (VerboseAsm) {
|
||||
// Emit comments that decode the call site.
|
||||
Asm->OutStreamer.AddComment(Twine(">> Call Site ") +
|
||||
llvm::utostr(++Entry) + " <<");
|
||||
Asm->OutStreamer.AddComment(Twine(" Call between ") +
|
||||
BeginLabel->getName() + " and " +
|
||||
EndLabel->getName());
|
||||
|
||||
if (!S.PadLabel) {
|
||||
Asm->OutStreamer.AddComment(" has no landing pad");
|
||||
} else {
|
||||
Asm->OutStreamer.AddComment(Twine(" jumps to ") +
|
||||
S.PadLabel->getName());
|
||||
|
||||
if (S.Action == 0)
|
||||
Asm->OutStreamer.AddComment(" On action: cleanup");
|
||||
else
|
||||
Asm->OutStreamer.AddComment(Twine(" On action: ") +
|
||||
llvm::utostr((S.Action - 1) / 2 + 1));
|
||||
}
|
||||
|
||||
Asm->OutStreamer.AddBlankLine();
|
||||
}
|
||||
|
||||
// Offset of the call site relative to the previous call site, counted in
|
||||
// number of 16-byte bundles. The first call site is counted relative to
|
||||
// the start of the procedure fragment.
|
||||
if (VerboseAsm)
|
||||
Asm->OutStreamer.AddComment(Twine(">> Call Site ") +
|
||||
llvm::utostr(++Entry) + " <<");
|
||||
Asm->EmitLabelDifference(BeginLabel, EHFuncBeginSym, 4);
|
||||
if (VerboseAsm)
|
||||
Asm->OutStreamer.AddComment(Twine(" Call between ") +
|
||||
BeginLabel->getName() + " and " +
|
||||
EndLabel->getName());
|
||||
Asm->EmitLabelDifference(EndLabel, BeginLabel, 4);
|
||||
|
||||
// Offset of the landing pad, counted in 16-byte bundles relative to the
|
||||
// @LPStart address.
|
||||
if (!S.PadLabel)
|
||||
if (!S.PadLabel) {
|
||||
if (VerboseAsm)
|
||||
Asm->OutStreamer.AddComment(" has no landing pad");
|
||||
Asm->OutStreamer.EmitIntValue(0, 4/*size*/, 0/*addrspace*/);
|
||||
else
|
||||
} else {
|
||||
if (VerboseAsm)
|
||||
Asm->OutStreamer.AddComment(Twine(" jumps to ") +
|
||||
S.PadLabel->getName());
|
||||
Asm->EmitLabelDifference(S.PadLabel, EHFuncBeginSym, 4);
|
||||
}
|
||||
|
||||
// Offset of the first associated action record, relative to the start of
|
||||
// the action table. This value is biased by 1 (1 indicates the start of
|
||||
// the action table), and 0 indicates that there are no actions.
|
||||
if (VerboseAsm) {
|
||||
if (S.Action == 0)
|
||||
Asm->OutStreamer.AddComment(" On action: cleanup");
|
||||
else
|
||||
Asm->OutStreamer.AddComment(Twine(" On action: ") +
|
||||
llvm::utostr((S.Action - 1) / 2 + 1));
|
||||
}
|
||||
Asm->EmitULEB128(S.Action);
|
||||
}
|
||||
}
|
||||
@ -648,13 +642,27 @@ void DwarfException::EmitExceptionTable() {
|
||||
// Emit comments that decode the action table.
|
||||
Asm->OutStreamer.AddComment(Twine(">> Action Record ") +
|
||||
llvm::utostr(++Entry) + " <<");
|
||||
}
|
||||
|
||||
// Type Filter
|
||||
//
|
||||
// Used by the runtime to match the type of the thrown exception to the
|
||||
// type of the catch clauses or the types in the exception specification.
|
||||
if (VerboseAsm) {
|
||||
if (Action.ValueForTypeID >= 0)
|
||||
Asm->OutStreamer.AddComment(Twine(" Catch TypeInfo ") +
|
||||
llvm::itostr(Action.ValueForTypeID));
|
||||
else
|
||||
Asm->OutStreamer.AddComment(Twine(" Filter TypeInfo ") +
|
||||
llvm::itostr(Action.ValueForTypeID));
|
||||
}
|
||||
Asm->EmitSLEB128(Action.ValueForTypeID);
|
||||
|
||||
// Action Record
|
||||
//
|
||||
// Self-relative signed displacement in bytes of the next action record,
|
||||
// or 0 if there is no next action record.
|
||||
if (VerboseAsm) {
|
||||
if (Action.NextAction == 0) {
|
||||
Asm->OutStreamer.AddComment(" No further actions");
|
||||
} else {
|
||||
@ -662,20 +670,7 @@ void DwarfException::EmitExceptionTable() {
|
||||
Asm->OutStreamer.AddComment(Twine(" Continue to action ") +
|
||||
llvm::utostr(NextAction));
|
||||
}
|
||||
|
||||
Asm->OutStreamer.AddBlankLine();
|
||||
}
|
||||
|
||||
// Type Filter
|
||||
//
|
||||
// Used by the runtime to match the type of the thrown exception to the
|
||||
// type of the catch clauses or the types in the exception specification.
|
||||
Asm->EmitSLEB128(Action.ValueForTypeID);
|
||||
|
||||
// Action Record
|
||||
//
|
||||
// Self-relative signed displacement in bytes of the next action record,
|
||||
// or 0 if there is no next action record.
|
||||
Asm->EmitSLEB128(Action.NextAction);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user