summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsTargetStreamer.h
diff options
context:
space:
mode:
authorJack Carter <jack.carter@imgtec.com>2014-01-06 23:27:31 +0000
committerJack Carter <jack.carter@imgtec.com>2014-01-06 23:27:31 +0000
commit0cd3c19f33a7bf73511a1a498ef489d07265ef35 (patch)
tree0943cbc22b4adc7971ac937533038262fe9ccb1d /llvm/lib/Target/Mips/MipsTargetStreamer.h
parentb2166d8ef3b8456a50e425a7cf2ed1bd6ad93319 (diff)
downloadbcm5719-llvm-0cd3c19f33a7bf73511a1a498ef489d07265ef35.tar.gz
bcm5719-llvm-0cd3c19f33a7bf73511a1a498ef489d07265ef35.zip
[Mips] TargetStreamer Support for .abicalls and .set pic0.
This patch adds .abicalls and .set pic0 support which affects the ELF ABI and its flags. In addition the patch uses a common interface for both the MipsTargetSteamer and MipsObjectStreamer that both the integrated and standalone assemblers will use for the output for these directives. llvm-svn: 198646
Diffstat (limited to 'llvm/lib/Target/Mips/MipsTargetStreamer.h')
-rw-r--r--llvm/lib/Target/Mips/MipsTargetStreamer.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/Target/Mips/MipsTargetStreamer.h b/llvm/lib/Target/Mips/MipsTargetStreamer.h
index 96966fd7cbc..8c53cb5bc2d 100644
--- a/llvm/lib/Target/Mips/MipsTargetStreamer.h
+++ b/llvm/lib/Target/Mips/MipsTargetStreamer.h
@@ -20,6 +20,8 @@ class MipsTargetStreamer : public MCTargetStreamer {
public:
virtual void emitMipsHackELFFlags(unsigned Flags) = 0;
virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val) = 0;
+ virtual void emitDirectiveAbiCalls() = 0;
+ virtual void emitDirectiveOptionPic0() = 0;
};
// This part is for ascii assembly output
@@ -30,15 +32,20 @@ public:
MipsTargetAsmStreamer(formatted_raw_ostream &OS);
virtual void emitMipsHackELFFlags(unsigned Flags);
virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val);
+ virtual void emitDirectiveAbiCalls();
+ virtual void emitDirectiveOptionPic0();
};
// This part is for ELF object output
class MipsTargetELFStreamer : public MipsTargetStreamer {
public:
MCELFStreamer &getStreamer();
+ MipsTargetELFStreamer();
+ // FIXME: emitMipsHackELFFlags() will be removed from this class.
virtual void emitMipsHackELFFlags(unsigned Flags);
virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val);
+ virtual void emitDirectiveAbiCalls();
+ virtual void emitDirectiveOptionPic0();
};
}
-
#endif
OpenPOWER on IntegriCloud