mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-26 09:18:56 +00:00
Remove a version of EmitDifference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -2672,8 +2672,8 @@ void DwarfDebug::emitCommonDebugFrame() {
|
|||||||
Asm->getObjFileLowering().getDwarfFrameSection());
|
Asm->getObjFileLowering().getDwarfFrameSection());
|
||||||
|
|
||||||
Asm->OutStreamer.EmitLabel(getTempLabel("debug_frame_common"));
|
Asm->OutStreamer.EmitLabel(getTempLabel("debug_frame_common"));
|
||||||
EmitDifference("debug_frame_common_end", 0,
|
EmitDifference(getTempLabel("debug_frame_common_end"),
|
||||||
"debug_frame_common_begin", 0, true);
|
getTempLabel("debug_frame_common_begin"), true);
|
||||||
EOL("Length of Common Information Entry");
|
EOL("Length of Common Information Entry");
|
||||||
|
|
||||||
Asm->OutStreamer.EmitLabel(getTempLabel("debug_frame_common_begin"));
|
Asm->OutStreamer.EmitLabel(getTempLabel("debug_frame_common_begin"));
|
||||||
@@ -2708,8 +2708,8 @@ DwarfDebug::emitFunctionDebugFrame(const FunctionDebugFrameInfo&DebugFrameInfo){
|
|||||||
Asm->OutStreamer.SwitchSection(
|
Asm->OutStreamer.SwitchSection(
|
||||||
Asm->getObjFileLowering().getDwarfFrameSection());
|
Asm->getObjFileLowering().getDwarfFrameSection());
|
||||||
|
|
||||||
EmitDifference("debug_frame_end", DebugFrameInfo.Number,
|
EmitDifference(getDWLabel("debug_frame_end", DebugFrameInfo.Number),
|
||||||
"debug_frame_begin", DebugFrameInfo.Number, true);
|
getDWLabel("debug_frame_begin", DebugFrameInfo.Number), true);
|
||||||
EOL("Length of Frame Information Entry");
|
EOL("Length of Frame Information Entry");
|
||||||
|
|
||||||
Asm->OutStreamer.EmitLabel(getDWLabel("debug_frame_begin",
|
Asm->OutStreamer.EmitLabel(getDWLabel("debug_frame_begin",
|
||||||
@@ -2740,8 +2740,8 @@ void DwarfDebug::emitDebugPubNames() {
|
|||||||
Asm->OutStreamer.SwitchSection(
|
Asm->OutStreamer.SwitchSection(
|
||||||
Asm->getObjFileLowering().getDwarfPubNamesSection());
|
Asm->getObjFileLowering().getDwarfPubNamesSection());
|
||||||
|
|
||||||
EmitDifference("pubnames_end", ModuleCU->getID(),
|
EmitDifference(getDWLabel("pubnames_end", ModuleCU->getID()),
|
||||||
"pubnames_begin", ModuleCU->getID(), true);
|
getDWLabel("pubnames_begin", ModuleCU->getID()), true);
|
||||||
EOL("Length of Public Names Info");
|
EOL("Length of Public Names Info");
|
||||||
|
|
||||||
Asm->OutStreamer.EmitLabel(getDWLabel("pubnames_begin", ModuleCU->getID()));
|
Asm->OutStreamer.EmitLabel(getDWLabel("pubnames_begin", ModuleCU->getID()));
|
||||||
@@ -2753,7 +2753,8 @@ void DwarfDebug::emitDebugPubNames() {
|
|||||||
true, false);
|
true, false);
|
||||||
EOL("Offset of Compilation Unit Info");
|
EOL("Offset of Compilation Unit Info");
|
||||||
|
|
||||||
EmitDifference("info_end", ModuleCU->getID(), "info_begin", ModuleCU->getID(),
|
EmitDifference(getDWLabel("info_end", ModuleCU->getID()),
|
||||||
|
getDWLabel("info_begin", ModuleCU->getID()),
|
||||||
true);
|
true);
|
||||||
EOL("Compilation Unit Length");
|
EOL("Compilation Unit Length");
|
||||||
|
|
||||||
@@ -2778,8 +2779,8 @@ void DwarfDebug::emitDebugPubTypes() {
|
|||||||
// Start the dwarf pubnames section.
|
// Start the dwarf pubnames section.
|
||||||
Asm->OutStreamer.SwitchSection(
|
Asm->OutStreamer.SwitchSection(
|
||||||
Asm->getObjFileLowering().getDwarfPubTypesSection());
|
Asm->getObjFileLowering().getDwarfPubTypesSection());
|
||||||
EmitDifference("pubtypes_end", ModuleCU->getID(),
|
EmitDifference(getDWLabel("pubtypes_end", ModuleCU->getID()),
|
||||||
"pubtypes_begin", ModuleCU->getID(), true);
|
getDWLabel("pubtypes_begin", ModuleCU->getID()), true);
|
||||||
EOL("Length of Public Types Info");
|
EOL("Length of Public Types Info");
|
||||||
|
|
||||||
Asm->OutStreamer.EmitLabel(getDWLabel("pubtypes_begin", ModuleCU->getID()));
|
Asm->OutStreamer.EmitLabel(getDWLabel("pubtypes_begin", ModuleCU->getID()));
|
||||||
@@ -2791,7 +2792,8 @@ void DwarfDebug::emitDebugPubTypes() {
|
|||||||
getTempLabel("section_info"), true, false);
|
getTempLabel("section_info"), true, false);
|
||||||
EOL("Offset of Compilation ModuleCU Info");
|
EOL("Offset of Compilation ModuleCU Info");
|
||||||
|
|
||||||
EmitDifference("info_end", ModuleCU->getID(), "info_begin", ModuleCU->getID(),
|
EmitDifference(getDWLabel("info_end", ModuleCU->getID()),
|
||||||
|
getDWLabel("info_begin", ModuleCU->getID()),
|
||||||
true);
|
true);
|
||||||
EOL("Compilation ModuleCU Length");
|
EOL("Compilation ModuleCU Length");
|
||||||
|
|
||||||
@@ -2872,7 +2874,8 @@ void DwarfDebug::EmitDebugARanges() {
|
|||||||
|
|
||||||
// Range 1
|
// Range 1
|
||||||
EmitReference("text_begin", 0); EOL("Address");
|
EmitReference("text_begin", 0); EOL("Address");
|
||||||
EmitDifference("text_end", 0, "text_begin", 0, true); EOL("Length");
|
EmitDifference(getTempLabel("text_end"), getTempLabel("text_begin"),
|
||||||
|
true); EOL("Length");
|
||||||
|
|
||||||
Asm->EmitInt32(0); EOL("EOM (1)");
|
Asm->EmitInt32(0); EOL("EOM (1)");
|
||||||
Asm->EmitInt32(0); EOL("EOM (2)");
|
Asm->EmitInt32(0); EOL("EOM (2)");
|
||||||
@@ -2925,8 +2928,8 @@ void DwarfDebug::emitDebugInlineInfo() {
|
|||||||
Asm->OutStreamer.SwitchSection(
|
Asm->OutStreamer.SwitchSection(
|
||||||
Asm->getObjFileLowering().getDwarfDebugInlineSection());
|
Asm->getObjFileLowering().getDwarfDebugInlineSection());
|
||||||
|
|
||||||
EmitDifference("debug_inlined_end", 1,
|
EmitDifference(getDWLabel("debug_inlined_end", 1),
|
||||||
"debug_inlined_begin", 1, true);
|
getDWLabel("debug_inlined_begin", 1), true);
|
||||||
EOL("Length of Debug Inlined Information Entry");
|
EOL("Length of Debug Inlined Information Entry");
|
||||||
|
|
||||||
Asm->OutStreamer.EmitLabel(getDWLabel("debug_inlined_begin", 1));
|
Asm->OutStreamer.EmitLabel(getDWLabel("debug_inlined_begin", 1));
|
||||||
|
@@ -94,8 +94,8 @@ void DwarfException::EmitCIE(const Function *PersonalityFn, unsigned Index) {
|
|||||||
Asm->OutStreamer.EmitLabel(getDWLabel("eh_frame_common", Index));
|
Asm->OutStreamer.EmitLabel(getDWLabel("eh_frame_common", Index));
|
||||||
|
|
||||||
// Define the eh frame length.
|
// Define the eh frame length.
|
||||||
EmitDifference("eh_frame_common_end", Index,
|
EmitDifference(getDWLabel("eh_frame_common_end", Index),
|
||||||
"eh_frame_common_begin", Index, true);
|
getDWLabel("eh_frame_common_begin", Index), true);
|
||||||
EOL("Length of Common Information Entry");
|
EOL("Length of Common Information Entry");
|
||||||
|
|
||||||
// EH frame header.
|
// EH frame header.
|
||||||
@@ -222,8 +222,8 @@ void DwarfException::EmitFDE(const FunctionEHFrameInfo &EHFrameInfo) {
|
|||||||
O << *EHFrameInfo.FunctionEHSym << ":\n";
|
O << *EHFrameInfo.FunctionEHSym << ":\n";
|
||||||
|
|
||||||
// EH frame header.
|
// EH frame header.
|
||||||
EmitDifference("eh_frame_end", EHFrameInfo.Number,
|
EmitDifference(getDWLabel("eh_frame_end", EHFrameInfo.Number),
|
||||||
"eh_frame_begin", EHFrameInfo.Number,
|
getDWLabel("eh_frame_begin", EHFrameInfo.Number),
|
||||||
true);
|
true);
|
||||||
EOL("Length of Frame Information Entry");
|
EOL("Length of Frame Information Entry");
|
||||||
|
|
||||||
@@ -238,8 +238,8 @@ void DwarfException::EmitFDE(const FunctionEHFrameInfo &EHFrameInfo) {
|
|||||||
|
|
||||||
EmitReference(getDWLabel("eh_func_begin", EHFrameInfo.Number), FDEEncoding);
|
EmitReference(getDWLabel("eh_func_begin", EHFrameInfo.Number), FDEEncoding);
|
||||||
EOL("FDE initial location");
|
EOL("FDE initial location");
|
||||||
EmitDifference("eh_func_end", EHFrameInfo.Number,
|
EmitDifference(getDWLabel("eh_func_end", EHFrameInfo.Number),
|
||||||
"eh_func_begin", EHFrameInfo.Number,
|
getDWLabel("eh_func_begin", EHFrameInfo.Number),
|
||||||
SizeOfEncodedValue(FDEEncoding) == 4);
|
SizeOfEncodedValue(FDEEncoding) == 4);
|
||||||
EOL("FDE address range");
|
EOL("FDE address range");
|
||||||
|
|
||||||
@@ -829,7 +829,8 @@ void DwarfException::EmitExceptionTable() {
|
|||||||
getDWLabel(BeginTag, BeginNumber),
|
getDWLabel(BeginTag, BeginNumber),
|
||||||
true);
|
true);
|
||||||
else
|
else
|
||||||
EmitDifference("label", S.EndLabel, BeginTag, BeginNumber, true);
|
EmitDifference(getDWLabel("label", S.EndLabel),
|
||||||
|
getDWLabel(BeginTag, BeginNumber), true);
|
||||||
|
|
||||||
EOL("Region length");
|
EOL("Region length");
|
||||||
|
|
||||||
|
@@ -276,32 +276,6 @@ void DwarfPrinter::EmitDifference(const MCSymbol *TagHi, const MCSymbol *TagLo,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// EmitDifference - Emit the difference between two labels. If this assembler
|
|
||||||
/// supports .set, we emit a .set of a temporary and then use it in the .word.
|
|
||||||
void DwarfPrinter::EmitDifference(const char *TagHi, unsigned NumberHi,
|
|
||||||
const char *TagLo, unsigned NumberLo,
|
|
||||||
bool IsSmall) {
|
|
||||||
if (MAI->hasSetDirective()) {
|
|
||||||
// FIXME: switch to OutStreamer.EmitAssignment.
|
|
||||||
O << "\t.set\t";
|
|
||||||
PrintLabelName("set", SetCounter, Flavor);
|
|
||||||
O << ",";
|
|
||||||
PrintLabelName(getDWLabel(TagHi, NumberHi));
|
|
||||||
O << "-";
|
|
||||||
PrintLabelName(getDWLabel(TagLo, NumberLo));
|
|
||||||
O << "\n";
|
|
||||||
|
|
||||||
PrintRelDirective(IsSmall);
|
|
||||||
PrintLabelName("set", SetCounter, Flavor);
|
|
||||||
++SetCounter;
|
|
||||||
} else {
|
|
||||||
PrintRelDirective(IsSmall);
|
|
||||||
PrintLabelName(getDWLabel(TagHi, NumberHi));
|
|
||||||
O << "-";
|
|
||||||
PrintLabelName(getDWLabel(TagLo, NumberLo));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void DwarfPrinter::EmitSectionOffset(const MCSymbol *Label,
|
void DwarfPrinter::EmitSectionOffset(const MCSymbol *Label,
|
||||||
const MCSymbol *Section,
|
const MCSymbol *Section,
|
||||||
bool IsSmall, bool isEH,
|
bool IsSmall, bool isEH,
|
||||||
@@ -367,7 +341,8 @@ void DwarfPrinter::EmitFrameMoves(const char *BaseLabel, unsigned BaseLabelID,
|
|||||||
// Advance row if new location.
|
// Advance row if new location.
|
||||||
if (BaseLabel && LabelID && (BaseLabelID != LabelID || !IsLocal)) {
|
if (BaseLabel && LabelID && (BaseLabelID != LabelID || !IsLocal)) {
|
||||||
EmitCFAByte(dwarf::DW_CFA_advance_loc4);
|
EmitCFAByte(dwarf::DW_CFA_advance_loc4);
|
||||||
EmitDifference("label", LabelID, BaseLabel, BaseLabelID, true);
|
EmitDifference(getDWLabel("label", LabelID),
|
||||||
|
getDWLabel(BaseLabel, BaseLabelID), true);
|
||||||
Asm->O << '\n';
|
Asm->O << '\n';
|
||||||
|
|
||||||
BaseLabelID = LabelID;
|
BaseLabelID = LabelID;
|
||||||
|
@@ -139,10 +139,6 @@ public:
|
|||||||
/// EmitDifference - Emit the difference between two labels.
|
/// EmitDifference - Emit the difference between two labels.
|
||||||
void EmitDifference(const MCSymbol *LabelHi, const MCSymbol *LabelLo,
|
void EmitDifference(const MCSymbol *LabelHi, const MCSymbol *LabelLo,
|
||||||
bool IsSmall = false);
|
bool IsSmall = false);
|
||||||
void EmitDifference(const char *TagHi, unsigned NumberHi,
|
|
||||||
const char *TagLo, unsigned NumberLo,
|
|
||||||
bool IsSmall = false);
|
|
||||||
|
|
||||||
void EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section,
|
void EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section,
|
||||||
bool IsSmall = false, bool isEH = false,
|
bool IsSmall = false, bool isEH = false,
|
||||||
bool useSet = true);
|
bool useSet = true);
|
||||||
|
Reference in New Issue
Block a user