diff options
| author | Jack Carter <jack.carter@imgtec.com> | 2013-11-19 20:53:28 +0000 |
|---|---|---|
| committer | Jack Carter <jack.carter@imgtec.com> | 2013-11-19 20:53:28 +0000 |
| commit | 6ef6cc5c40fd13cca42fd267d62fdba80a6c75a9 (patch) | |
| tree | e23e23a7ec54a930c1f5568846a09c11fd23ccf0 /llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp | |
| parent | ef6909df4c36850053b5c3e852e4e05e98aa9f03 (diff) | |
| download | bcm5719-llvm-6ef6cc5c40fd13cca42fd267d62fdba80a6c75a9.tar.gz bcm5719-llvm-6ef6cc5c40fd13cca42fd267d62fdba80a6c75a9.zip | |
reverts 195057 per request
llvm-svn: 195152
Diffstat (limited to 'llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp')
| -rw-r--r-- | llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp b/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp index 04692a53c9e..5e90bbc635a 100644 --- a/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp +++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp @@ -20,11 +20,33 @@ using namespace llvm; +static cl::opt<bool> PrintHackDirectives("print-hack-directives", + cl::init(false), cl::Hidden); + // pin vtable to this file void MipsTargetStreamer::anchor() {} -void MipsTargetAsmStreamer::emitMipsHackELFFlags(unsigned Flags) { return; } -void MipsTargetAsmStreamer::emitSymSTO(MCSymbol *Sym, unsigned Val) { return; } +MipsTargetAsmStreamer::MipsTargetAsmStreamer(formatted_raw_ostream &OS) + : OS(OS) {} + +void MipsTargetAsmStreamer::emitMipsHackELFFlags(unsigned Flags) { + if (!PrintHackDirectives) + return; + + OS << "\t.mips_hack_elf_flags 0x"; + OS.write_hex(Flags); + OS << '\n'; +} +void MipsTargetAsmStreamer::emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val) { + if (!PrintHackDirectives) + return; + + OS << "\t.mips_hack_stocg "; + OS << Sym->getName(); + OS << ", "; + OS << Val; + OS << '\n'; +} MCELFStreamer &MipsTargetELFStreamer::getStreamer() { return static_cast<MCELFStreamer &>(*Streamer); @@ -36,7 +58,7 @@ void MipsTargetELFStreamer::emitMipsHackELFFlags(unsigned Flags) { } // Set a symbol's STO flags -void MipsTargetELFStreamer::emitSymSTO(MCSymbol *Sym, unsigned Val) { +void MipsTargetELFStreamer::emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val) { MCSymbolData &Data = getStreamer().getOrCreateSymbolData(Sym); // The "other" values are stored in the last 6 bits of the second byte // The traditional defines for STO values assume the full byte and thus |

