#ifndef LLVM_CODEGEN_ASMPRINTER_DWARFEXCEPTION_H
#define LLVM_CODEGEN_ASMPRINTER_DWARFEXCEPTION_H
+#include "AsmPrinterHandler.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include <vector>
class MCExpr;
class MCSymbol;
class Function;
+class ARMTargetStreamer;
class AsmPrinter;
//===----------------------------------------------------------------------===//
/// DwarfException - Emits Dwarf exception handling directives.
///
-class LLVM_LIBRARY_VISIBILITY DwarfException {
+class DwarfException : public AsmPrinterHandler {
protected:
/// Asm - Target of Dwarf emission.
AsmPrinter *Asm;
DwarfException(AsmPrinter *A);
virtual ~DwarfException();
- /// EndModule - Emit all exception information that should come after the
+ /// endModule - Emit all exception information that should come after the
/// content.
- virtual void EndModule();
+ virtual void endModule();
- /// BeginFunction - Gather pre-function exception information. Assumes being
+ /// beginFunction - Gather pre-function exception information. Assumes being
/// emitted immediately after the function entry point.
- virtual void BeginFunction(const MachineFunction *MF);
+ virtual void beginFunction(const MachineFunction *MF);
- /// EndFunction - Gather and emit post-function exception information.
- virtual void EndFunction();
+ /// endFunction - Gather and emit post-function exception information.
+ virtual void endFunction(const MachineFunction *);
+
+ // We don't need these.
+ virtual void setSymbolSize(const MCSymbol *Sym, uint64_t Size) {}
+ virtual void beginInstruction(const MachineInstr *MI) {}
+ virtual void endInstruction() {}
};
-class LLVM_LIBRARY_VISIBILITY DwarfCFIException : public DwarfException {
+class DwarfCFIException : public DwarfException {
/// shouldEmitPersonality - Per-function flag to indicate if .cfi_personality
/// should be emitted.
bool shouldEmitPersonality;
DwarfCFIException(AsmPrinter *A);
virtual ~DwarfCFIException();
- /// EndModule - Emit all exception information that should come after the
+ /// endModule - Emit all exception information that should come after the
/// content.
- virtual void EndModule();
+ virtual void endModule();
- /// BeginFunction - Gather pre-function exception information. Assumes being
+ /// beginFunction - Gather pre-function exception information. Assumes being
/// emitted immediately after the function entry point.
- virtual void BeginFunction(const MachineFunction *MF);
+ virtual void beginFunction(const MachineFunction *MF);
- /// EndFunction - Gather and emit post-function exception information.
- virtual void EndFunction();
+ /// endFunction - Gather and emit post-function exception information.
+ virtual void endFunction(const MachineFunction *);
};
-class LLVM_LIBRARY_VISIBILITY ARMException : public DwarfException {
+class ARMException : public DwarfException {
void EmitTypeInfos(unsigned TTypeEncoding);
+ ARMTargetStreamer &getTargetStreamer();
+
public:
//===--------------------------------------------------------------------===//
// Main entry points.
ARMException(AsmPrinter *A);
virtual ~ARMException();
- /// EndModule - Emit all exception information that should come after the
+ /// endModule - Emit all exception information that should come after the
/// content.
- virtual void EndModule();
+ virtual void endModule();
- /// BeginFunction - Gather pre-function exception information. Assumes being
+ /// beginFunction - Gather pre-function exception information. Assumes being
/// emitted immediately after the function entry point.
- virtual void BeginFunction(const MachineFunction *MF);
+ virtual void beginFunction(const MachineFunction *MF);
- /// EndFunction - Gather and emit post-function exception information.
- virtual void EndFunction();
+ /// endFunction - Gather and emit post-function exception information.
+ virtual void endFunction(const MachineFunction *);
};
-class LLVM_LIBRARY_VISIBILITY Win64Exception : public DwarfException {
+class Win64Exception : public DwarfException {
/// shouldEmitPersonality - Per-function flag to indicate if personality
/// info should be emitted.
bool shouldEmitPersonality;
Win64Exception(AsmPrinter *A);
virtual ~Win64Exception();
- /// EndModule - Emit all exception information that should come after the
+ /// endModule - Emit all exception information that should come after the
/// content.
- virtual void EndModule();
+ virtual void endModule();
- /// BeginFunction - Gather pre-function exception information. Assumes being
+ /// beginFunction - Gather pre-function exception information. Assumes being
/// emitted immediately after the function entry point.
- virtual void BeginFunction(const MachineFunction *MF);
+ virtual void beginFunction(const MachineFunction *MF);
- /// EndFunction - Gather and emit post-function exception information.
- virtual void EndFunction();
+ /// endFunction - Gather and emit post-function exception information.
+ virtual void endFunction(const MachineFunction *);
};
} // End of namespace llvm