mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-18 17:17:49 +00:00
Remove a version of EmitDifference.
llvm-svn: 98002
This commit is contained in:
parent
116599fe52
commit
9dfcbeaca1
@ -2672,8 +2672,8 @@ void DwarfDebug::emitCommonDebugFrame() {
|
||||
Asm->getObjFileLowering().getDwarfFrameSection());
|
||||
|
||||
Asm->OutStreamer.EmitLabel(getTempLabel("debug_frame_common"));
|
||||
EmitDifference("debug_frame_common_end", 0,
|
||||
"debug_frame_common_begin", 0, true);
|
||||
EmitDifference(getTempLabel("debug_frame_common_end"),
|
||||
getTempLabel("debug_frame_common_begin"), true);
|
||||
EOL("Length of Common Information Entry");
|
||||
|
||||
Asm->OutStreamer.EmitLabel(getTempLabel("debug_frame_common_begin"));
|
||||
@ -2708,8 +2708,8 @@ DwarfDebug::emitFunctionDebugFrame(const FunctionDebugFrameInfo&DebugFrameInfo){
|
||||
Asm->OutStreamer.SwitchSection(
|
||||
Asm->getObjFileLowering().getDwarfFrameSection());
|
||||
|
||||
EmitDifference("debug_frame_end", DebugFrameInfo.Number,
|
||||
"debug_frame_begin", DebugFrameInfo.Number, true);
|
||||
EmitDifference(getDWLabel("debug_frame_end", DebugFrameInfo.Number),
|
||||
getDWLabel("debug_frame_begin", DebugFrameInfo.Number), true);
|
||||
EOL("Length of Frame Information Entry");
|
||||
|
||||
Asm->OutStreamer.EmitLabel(getDWLabel("debug_frame_begin",
|
||||
@ -2740,8 +2740,8 @@ void DwarfDebug::emitDebugPubNames() {
|
||||
Asm->OutStreamer.SwitchSection(
|
||||
Asm->getObjFileLowering().getDwarfPubNamesSection());
|
||||
|
||||
EmitDifference("pubnames_end", ModuleCU->getID(),
|
||||
"pubnames_begin", ModuleCU->getID(), true);
|
||||
EmitDifference(getDWLabel("pubnames_end", ModuleCU->getID()),
|
||||
getDWLabel("pubnames_begin", ModuleCU->getID()), true);
|
||||
EOL("Length of Public Names Info");
|
||||
|
||||
Asm->OutStreamer.EmitLabel(getDWLabel("pubnames_begin", ModuleCU->getID()));
|
||||
@ -2753,7 +2753,8 @@ void DwarfDebug::emitDebugPubNames() {
|
||||
true, false);
|
||||
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);
|
||||
EOL("Compilation Unit Length");
|
||||
|
||||
@ -2778,8 +2779,8 @@ void DwarfDebug::emitDebugPubTypes() {
|
||||
// Start the dwarf pubnames section.
|
||||
Asm->OutStreamer.SwitchSection(
|
||||
Asm->getObjFileLowering().getDwarfPubTypesSection());
|
||||
EmitDifference("pubtypes_end", ModuleCU->getID(),
|
||||
"pubtypes_begin", ModuleCU->getID(), true);
|
||||
EmitDifference(getDWLabel("pubtypes_end", ModuleCU->getID()),
|
||||
getDWLabel("pubtypes_begin", ModuleCU->getID()), true);
|
||||
EOL("Length of Public Types Info");
|
||||
|
||||
Asm->OutStreamer.EmitLabel(getDWLabel("pubtypes_begin", ModuleCU->getID()));
|
||||
@ -2791,7 +2792,8 @@ void DwarfDebug::emitDebugPubTypes() {
|
||||
getTempLabel("section_info"), true, false);
|
||||
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);
|
||||
EOL("Compilation ModuleCU Length");
|
||||
|
||||
@ -2872,7 +2874,8 @@ void DwarfDebug::EmitDebugARanges() {
|
||||
|
||||
// Range 1
|
||||
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 (2)");
|
||||
@ -2925,8 +2928,8 @@ void DwarfDebug::emitDebugInlineInfo() {
|
||||
Asm->OutStreamer.SwitchSection(
|
||||
Asm->getObjFileLowering().getDwarfDebugInlineSection());
|
||||
|
||||
EmitDifference("debug_inlined_end", 1,
|
||||
"debug_inlined_begin", 1, true);
|
||||
EmitDifference(getDWLabel("debug_inlined_end", 1),
|
||||
getDWLabel("debug_inlined_begin", 1), true);
|
||||
EOL("Length of Debug Inlined Information Entry");
|
||||
|
||||
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));
|
||||
|
||||
// Define the eh frame length.
|
||||
EmitDifference("eh_frame_common_end", Index,
|
||||
"eh_frame_common_begin", Index, true);
|
||||
EmitDifference(getDWLabel("eh_frame_common_end", Index),
|
||||
getDWLabel("eh_frame_common_begin", Index), true);
|
||||
EOL("Length of Common Information Entry");
|
||||
|
||||
// EH frame header.
|
||||
@ -222,8 +222,8 @@ void DwarfException::EmitFDE(const FunctionEHFrameInfo &EHFrameInfo) {
|
||||
O << *EHFrameInfo.FunctionEHSym << ":\n";
|
||||
|
||||
// EH frame header.
|
||||
EmitDifference("eh_frame_end", EHFrameInfo.Number,
|
||||
"eh_frame_begin", EHFrameInfo.Number,
|
||||
EmitDifference(getDWLabel("eh_frame_end", EHFrameInfo.Number),
|
||||
getDWLabel("eh_frame_begin", EHFrameInfo.Number),
|
||||
true);
|
||||
EOL("Length of Frame Information Entry");
|
||||
|
||||
@ -238,8 +238,8 @@ void DwarfException::EmitFDE(const FunctionEHFrameInfo &EHFrameInfo) {
|
||||
|
||||
EmitReference(getDWLabel("eh_func_begin", EHFrameInfo.Number), FDEEncoding);
|
||||
EOL("FDE initial location");
|
||||
EmitDifference("eh_func_end", EHFrameInfo.Number,
|
||||
"eh_func_begin", EHFrameInfo.Number,
|
||||
EmitDifference(getDWLabel("eh_func_end", EHFrameInfo.Number),
|
||||
getDWLabel("eh_func_begin", EHFrameInfo.Number),
|
||||
SizeOfEncodedValue(FDEEncoding) == 4);
|
||||
EOL("FDE address range");
|
||||
|
||||
@ -829,7 +829,8 @@ void DwarfException::EmitExceptionTable() {
|
||||
getDWLabel(BeginTag, BeginNumber),
|
||||
true);
|
||||
else
|
||||
EmitDifference("label", S.EndLabel, BeginTag, BeginNumber, true);
|
||||
EmitDifference(getDWLabel("label", S.EndLabel),
|
||||
getDWLabel(BeginTag, BeginNumber), true);
|
||||
|
||||
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,
|
||||
const MCSymbol *Section,
|
||||
bool IsSmall, bool isEH,
|
||||
@ -367,7 +341,8 @@ void DwarfPrinter::EmitFrameMoves(const char *BaseLabel, unsigned BaseLabelID,
|
||||
// Advance row if new location.
|
||||
if (BaseLabel && LabelID && (BaseLabelID != LabelID || !IsLocal)) {
|
||||
EmitCFAByte(dwarf::DW_CFA_advance_loc4);
|
||||
EmitDifference("label", LabelID, BaseLabel, BaseLabelID, true);
|
||||
EmitDifference(getDWLabel("label", LabelID),
|
||||
getDWLabel(BaseLabel, BaseLabelID), true);
|
||||
Asm->O << '\n';
|
||||
|
||||
BaseLabelID = LabelID;
|
||||
|
@ -139,10 +139,6 @@ public:
|
||||
/// EmitDifference - Emit the difference between two labels.
|
||||
void EmitDifference(const MCSymbol *LabelHi, const MCSymbol *LabelLo,
|
||||
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,
|
||||
bool IsSmall = false, bool isEH = false,
|
||||
bool useSet = true);
|
||||
|
Loading…
Reference in New Issue
Block a user