diff options
Diffstat (limited to 'lib/Target/PIC16/PIC16DebugInfo.h')
-rw-r--r-- | lib/Target/PIC16/PIC16DebugInfo.h | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/lib/Target/PIC16/PIC16DebugInfo.h b/lib/Target/PIC16/PIC16DebugInfo.h deleted file mode 100644 index 031dcf0..0000000 --- a/lib/Target/PIC16/PIC16DebugInfo.h +++ /dev/null @@ -1,156 +0,0 @@ -//===-- PIC16DebugInfo.h - Interfaces for PIC16 Debug Information ============// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file contains the helper functions for representing debug information. -// -//===----------------------------------------------------------------------===// - -#ifndef PIC16DBG_H -#define PIC16DBG_H - -#include "llvm/Analysis/DebugInfo.h" -#include "llvm/Module.h" - -namespace llvm { - class MachineFunction; - class DebugLoc; - class MCStreamer; - - namespace PIC16Dbg { - enum VarType { - T_NULL, - T_VOID, - T_CHAR, - T_SHORT, - T_INT, - T_LONG, - T_FLOAT, - T_DOUBLE, - T_STRUCT, - T_UNION, - T_ENUM, - T_MOE, - T_UCHAR, - T_USHORT, - T_UINT, - T_ULONG - }; - enum DerivedType { - DT_NONE, - DT_PTR, - DT_FCN, - DT_ARY - }; - enum TypeSize { - S_BASIC = 5, - S_DERIVED = 3 - }; - enum DbgClass { - C_NULL, - C_AUTO, - C_EXT, - C_STAT, - C_REG, - C_EXTDEF, - C_LABEL, - C_ULABEL, - C_MOS, - C_ARG, - C_STRTAG, - C_MOU, - C_UNTAG, - C_TPDEF, - C_USTATIC, - C_ENTAG, - C_MOE, - C_REGPARM, - C_FIELD, - C_AUTOARG, - C_LASTENT, - C_BLOCK = 100, - C_FCN, - C_EOS, - C_FILE, - C_LINE, - C_ALIAS, - C_HIDDEN, - C_EOF, - C_LIST, - C_SECTION, - C_EFCN = 255 - }; - enum SymbolSize { - AuxSize =20 - }; - } - - class PIC16DbgInfo { - MCStreamer &OS; - const MCAsmInfo *MAI; - std::string CurFile; - unsigned CurLine; - - // EmitDebugDirectives is set if debug information is available. Default - // value for it is false. - bool EmitDebugDirectives; - - public: - PIC16DbgInfo(MCStreamer &os, const MCAsmInfo *T) : OS(os), MAI(T) { - CurFile = ""; - CurLine = 0; - EmitDebugDirectives = false; - } - - void BeginModule (Module &M); - void BeginFunction (const MachineFunction &MF); - void ChangeDebugLoc (const MachineFunction &MF, const DebugLoc &DL, - bool IsInBeginFunction = false); - void EndFunction (const MachineFunction &MF); - void EndModule (Module &M); - - - private: - void SwitchToCU (MDNode *CU); - void SwitchToLine (unsigned Line, bool IsInBeginFunction = false); - - void PopulateDebugInfo (DIType Ty, unsigned short &TypeNo, bool &HasAux, - int Aux[], std::string &TypeName); - void PopulateBasicTypeInfo (DIType Ty, unsigned short &TypeNo); - void PopulateDerivedTypeInfo (DIType Ty, unsigned short &TypeNo, - bool &HasAux, int Aux[], - std::string &TypeName); - - void PopulateCompositeTypeInfo (DIType Ty, unsigned short &TypeNo, - bool &HasAux, int Aux[], - std::string &TypeName); - void PopulateArrayTypeInfo (DIType Ty, unsigned short &TypeNo, - bool &HasAux, int Aux[], - std::string &TypeName); - - void PopulateStructOrUnionTypeInfo (DIType Ty, unsigned short &TypeNo, - bool &HasAux, int Aux[], - std::string &TypeName); - void PopulateEnumTypeInfo (DIType Ty, unsigned short &TypeNo); - - unsigned GetTypeDebugNumber(std::string &Type); - short getStorageClass(DIGlobalVariable DIGV); - void EmitFunctBeginDI(const Function *F); - void EmitCompositeTypeDecls(Module &M); - void EmitCompositeTypeElements (DICompositeType CTy, std::string Suffix); - void EmitFunctEndDI(const Function *F, unsigned Line); - void EmitAuxEntry(const std::string VarName, int Aux[], - int num = PIC16Dbg::AuxSize, std::string TagName = ""); - inline void EmitSymbol(std::string Name, short Class, - unsigned short Type = PIC16Dbg::T_NULL, - unsigned long Value = 0); - void EmitVarDebugInfo(Module &M); - void EmitEOF(); - }; -} // end namespace llvm; -#endif |