MipsTargetStreamer.h revision 2a4888b347ec1e7f69dcf2dcad0d7fd7baef50c5
1badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org//===-- MipsTargetStreamer.h - Mips Target Streamer ------------*- C++ -*--===// 2badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org// 3badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org// The LLVM Compiler Infrastructure 4badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org// 5badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org// This file is distributed under the University of Illinois Open Source 6badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org// License. See LICENSE.TXT for details. 7badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org// 8badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org//===----------------------------------------------------------------------===// 9badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org 10badaffc570baec00166b0ad3bdc96995751a7e13ricow@chromium.org#ifndef MIPSTARGETSTREAMER_H 11#define MIPSTARGETSTREAMER_H 12 13#include "llvm/MC/MCELFStreamer.h" 14#include "llvm/MC/MCStreamer.h" 15 16namespace llvm { 17class MipsTargetStreamer : public MCTargetStreamer { 18 virtual void anchor(); 19public: 20 virtual void emitMipsHackELFFlags(unsigned Flags) = 0; 21 virtual void emitSymSTO(MCSymbol *Sym, unsigned Val) = 0; 22}; 23 24// This part is for ascii assembly output 25class MipsTargetAsmStreamer : public MipsTargetStreamer { 26 27public: 28 MipsTargetAsmStreamer(formatted_raw_ostream &OS); 29 virtual void emitMipsHackELFFlags(unsigned Flags); 30 virtual void emitSymSTO(MCSymbol *Sym, unsigned Val); 31}; 32 33// This part is for ELF object output 34class MipsTargetELFStreamer : public MipsTargetStreamer { 35public: 36 MCELFStreamer &getStreamer(); 37 MipsTargetELFStreamer(); 38 virtual void emitMipsHackELFFlags(unsigned Flags); 39 virtual void emitSymSTO(MCSymbol *Sym, unsigned Val); 40}; 41} 42 43#endif 44