projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for Nuxi CloudABI.
[oota-llvm.git]
/
include
/
llvm
/
MC
/
MCCodeEmitter.h
diff --git
a/include/llvm/MC/MCCodeEmitter.h
b/include/llvm/MC/MCCodeEmitter.h
index bc63241bece997c56ecdd9648e5f46ce76022d96..ddf0f82e39e307783df09401f39825dc230bb63d 100644
(file)
--- a/
include/llvm/MC/MCCodeEmitter.h
+++ b/
include/llvm/MC/MCCodeEmitter.h
@@
-10,31
+10,34
@@
#ifndef LLVM_MC_MCCODEEMITTER_H
#define LLVM_MC_MCCODEEMITTER_H
#ifndef LLVM_MC_MCCODEEMITTER_H
#define LLVM_MC_MCCODEEMITTER_H
-#include "llvm/MC/MCFixup.h"
-
-#include <cassert>
+#include "llvm/Support/Compiler.h"
namespace llvm {
namespace llvm {
-class MC
Expr
;
+class MC
Fixup
;
class MCInst;
class MCInst;
+class MCSubtargetInfo;
class raw_ostream;
template<typename T> class SmallVectorImpl;
/// MCCodeEmitter - Generic instruction encoding interface.
class MCCodeEmitter {
private:
class raw_ostream;
template<typename T> class SmallVectorImpl;
/// MCCodeEmitter - Generic instruction encoding interface.
class MCCodeEmitter {
private:
- MCCodeEmitter(const MCCodeEmitter &)
; // DO NOT IMPLEMENT
- void operator=(const MCCodeEmitter &)
; // DO NOT IMPLEMENT
+ MCCodeEmitter(const MCCodeEmitter &)
= delete;
+ void operator=(const MCCodeEmitter &)
= delete;
protected: // Can only create subclasses.
MCCodeEmitter();
public:
virtual ~MCCodeEmitter();
protected: // Can only create subclasses.
MCCodeEmitter();
public:
virtual ~MCCodeEmitter();
- /// EncodeInstruction - Encode the given \arg Inst to bytes on the output
- /// stream \arg OS.
+ /// Lifetime management
+ virtual void reset() { }
+
+ /// EncodeInstruction - Encode the given \p Inst to bytes on the output
+ /// stream \p OS.
virtual void EncodeInstruction(const MCInst &Inst, raw_ostream &OS,
virtual void EncodeInstruction(const MCInst &Inst, raw_ostream &OS,
- SmallVectorImpl<MCFixup> &Fixups) const = 0;
+ SmallVectorImpl<MCFixup> &Fixups,
+ const MCSubtargetInfo &STI) const = 0;
};
} // End llvm namespace
};
} // End llvm namespace