2013-01-30 02:16:36 +00:00
|
|
|
//=== MipsELFStreamer.h - MipsELFStreamer ------------------------------===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENCE.TXT for details.
|
|
|
|
//
|
|
|
|
//===-------------------------------------------------------------------===//
|
|
|
|
#ifndef MIPSELFSTREAMER_H_
|
|
|
|
#define MIPSELFSTREAMER_H_
|
|
|
|
|
|
|
|
#include "llvm/MC/MCELFStreamer.h"
|
|
|
|
|
|
|
|
namespace llvm {
|
2013-02-19 22:04:37 +00:00
|
|
|
class MipsAsmPrinter;
|
2013-01-30 02:16:36 +00:00
|
|
|
class MipsSubtarget;
|
2013-02-19 22:04:37 +00:00
|
|
|
class MCSymbol;
|
2013-01-30 02:16:36 +00:00
|
|
|
|
|
|
|
class MipsELFStreamer : public MCELFStreamer {
|
|
|
|
public:
|
|
|
|
MipsELFStreamer(MCContext &Context, MCAsmBackend &TAB,
|
|
|
|
raw_ostream &OS, MCCodeEmitter *Emitter,
|
|
|
|
bool RelaxAll, bool NoExecStack)
|
2013-02-05 07:47:41 +00:00
|
|
|
: MCELFStreamer(SK_MipsELFStreamer, Context, TAB, OS, Emitter) {
|
2013-01-30 02:16:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
~MipsELFStreamer() {}
|
|
|
|
void emitELFHeaderFlagsCG(const MipsSubtarget &Subtarget);
|
2013-02-19 22:04:37 +00:00
|
|
|
void emitMipsSTOCG(const MipsSubtarget &Subtarget,
|
|
|
|
MCSymbol *Sym,
|
|
|
|
unsigned Val);
|
2013-02-05 07:47:41 +00:00
|
|
|
|
|
|
|
static bool classof(const MCStreamer *S) {
|
|
|
|
return S->getKind() == SK_MipsELFStreamer;
|
|
|
|
}
|
2013-01-30 02:16:36 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
MCELFStreamer* createMipsELFStreamer(MCContext &Context, MCAsmBackend &TAB,
|
|
|
|
raw_ostream &OS, MCCodeEmitter *Emitter,
|
|
|
|
bool RelaxAll, bool NoExecStack);
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* MIPSELFSTREAMER_H_ */
|