forked from OSchip/llvm-project
Unfortunately several files in MC are badly violating layering rule by using
TargetAsmInfo, which in turn pulls in TargetRegisterInfo, etc. :-( There are other cases of violations, but this is probably the worst. This patch is but one small step towards fixing this. 500 more steps to go. :-( llvm-svn: 135131
This commit is contained in:
parent
a153ca5885
commit
c7ac690ba2
|
@ -73,7 +73,8 @@ public:
|
|||
virtual void EmitValueToOffset(const MCExpr *Offset, unsigned char Value);
|
||||
virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label);
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize);
|
||||
virtual void EmitDwarfAdvanceFrameAddr(const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label);
|
||||
virtual void Finish();
|
||||
|
|
|
@ -460,7 +460,8 @@ namespace llvm {
|
|||
|
||||
virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label) = 0;
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize) = 0;
|
||||
|
||||
virtual void EmitDwarfAdvanceFrameAddr(const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label) {
|
||||
|
|
|
@ -137,7 +137,8 @@ public:
|
|||
virtual void EmitWeakReference(MCSymbol *Alias, const MCSymbol *Symbol);
|
||||
virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label);
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize);
|
||||
virtual void EmitDwarfAdvanceFrameAddr(const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label);
|
||||
|
||||
|
@ -364,9 +365,9 @@ void MCAsmStreamer::EmitWeakReference(MCSymbol *Alias, const MCSymbol *Symbol) {
|
|||
|
||||
void MCAsmStreamer::EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label) {
|
||||
EmitDwarfSetLineAddr(LineDelta, Label,
|
||||
getContext().getTargetAsmInfo().getPointerSize());
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize) {
|
||||
EmitDwarfSetLineAddr(LineDelta, Label, PointerSize);
|
||||
}
|
||||
|
||||
void MCAsmStreamer::EmitDwarfAdvanceFrameAddr(const MCSymbol *LastLabel,
|
||||
|
|
|
@ -172,7 +172,9 @@ static inline void EmitDwarfLineTable(MCStreamer *MCOS,
|
|||
// At this point we want to emit/create the sequence to encode the delta in
|
||||
// line numbers and the increment of the address from the previous Label
|
||||
// and the current Label.
|
||||
MCOS->EmitDwarfAdvanceLineAddr(LineDelta, LastLabel, Label);
|
||||
const TargetAsmInfo &asmInfo = MCOS->getContext().getTargetAsmInfo();
|
||||
MCOS->EmitDwarfAdvanceLineAddr(LineDelta, LastLabel, Label,
|
||||
asmInfo.getPointerSize());
|
||||
|
||||
LastLine = it->getLine();
|
||||
LastLabel = Label;
|
||||
|
@ -196,7 +198,9 @@ static inline void EmitDwarfLineTable(MCStreamer *MCOS,
|
|||
// Switch back the the dwarf line section.
|
||||
MCOS->SwitchSection(context.getTargetAsmInfo().getDwarfLineSection());
|
||||
|
||||
MCOS->EmitDwarfAdvanceLineAddr(INT64_MAX, LastLabel, SectionEnd);
|
||||
const TargetAsmInfo &asmInfo = MCOS->getContext().getTargetAsmInfo();
|
||||
MCOS->EmitDwarfAdvanceLineAddr(INT64_MAX, LastLabel, SectionEnd,
|
||||
asmInfo.getPointerSize());
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
#include "llvm/Support/ErrorHandling.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include "llvm/Target/TargetAsmBackend.h"
|
||||
#include "llvm/Target/TargetAsmInfo.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
|
|
@ -85,9 +85,11 @@ public:
|
|||
|
||||
virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label) {
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize) {
|
||||
LogCall("EmitDwarfAdvanceLineAddr");
|
||||
return Child->EmitDwarfAdvanceLineAddr(LineDelta, LastLabel, Label);
|
||||
return Child->EmitDwarfAdvanceLineAddr(LineDelta, LastLabel, Label,
|
||||
PointerSize);
|
||||
}
|
||||
|
||||
virtual void EmitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) {
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include "llvm/Support/ErrorHandling.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include "llvm/Target/TargetAsmBackend.h"
|
||||
#include "llvm/Target/TargetAsmInfo.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
|
|
@ -44,7 +44,8 @@ namespace {
|
|||
virtual void EmitWeakReference(MCSymbol *Alias, const MCSymbol *Symbol){}
|
||||
virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label) {}
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize) {}
|
||||
|
||||
virtual void EmitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute){}
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
#include "llvm/MC/MCExpr.h"
|
||||
#include "llvm/MC/MCSymbol.h"
|
||||
#include "llvm/Target/TargetAsmBackend.h"
|
||||
#include "llvm/Target/TargetAsmInfo.h"
|
||||
using namespace llvm;
|
||||
|
||||
MCObjectStreamer::MCObjectStreamer(MCContext &Context, TargetAsmBackend &TAB,
|
||||
|
@ -197,9 +196,9 @@ void MCObjectStreamer::EmitInstToFragment(const MCInst &Inst) {
|
|||
|
||||
void MCObjectStreamer::EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label) {
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize) {
|
||||
if (!LastLabel) {
|
||||
int PointerSize = getContext().getTargetAsmInfo().getPointerSize();
|
||||
EmitDwarfSetLineAddr(LineDelta, Label, PointerSize);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -115,7 +115,8 @@ public:
|
|||
|
||||
virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label);
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize);
|
||||
|
||||
virtual void EmitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute);
|
||||
|
||||
|
@ -260,7 +261,8 @@ void PTXMCAsmStreamer::EmitWeakReference(MCSymbol *Alias,
|
|||
|
||||
void PTXMCAsmStreamer::EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label) {
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize) {
|
||||
report_fatal_error("Unimplemented.");
|
||||
}
|
||||
|
||||
|
|
|
@ -598,7 +598,8 @@ namespace {
|
|||
virtual void EmitFileDirective(StringRef Filename) {}
|
||||
virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
|
||||
const MCSymbol *LastLabel,
|
||||
const MCSymbol *Label) {}
|
||||
const MCSymbol *Label,
|
||||
unsigned PointerSize) {}
|
||||
|
||||
virtual void EmitInstruction(const MCInst &Inst) {
|
||||
// Scan for values.
|
||||
|
|
Loading…
Reference in New Issue