1 //===-- PIC16DebugInfo.h - Interfaces for PIC16 Debug Information ============//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file contains the helper functions for representing debug information.
12 //===----------------------------------------------------------------------===//
17 #include "llvm/Analysis/DebugInfo.h"
18 #include "llvm/Module.h"
19 #include "llvm/Target/TargetAsmInfo.h"
94 std::map <std::string, DISubprogram *> FunctNameMap;
96 const TargetAsmInfo *TAI;
99 PIC16DbgInfo(raw_ostream &o, const TargetAsmInfo *T) : O(o), TAI(T) {
103 void PopulateDebugInfo(DIType Ty, unsigned short &TypeNo, bool &HasAux,
104 int Aux[], std::string &TypeName);
105 unsigned GetTypeDebugNumber(std::string &type);
106 short getClass(DIGlobalVariable DIGV);
107 void PopulateFunctsDI(Module &M);
108 DISubprogram *getFunctDI(std::string FunctName);
109 void EmitFunctBeginDI(const Function *F);
110 void EmitFunctEndDI(const Function *F, unsigned Line);
111 void EmitAuxEntry(const std::string VarName, int Aux[], int num);
112 inline void EmitSymbol(std::string Name, int Class);
113 void EmitVarDebugInfo(Module &M);
114 void EmitFileDirective(Module &M);
115 void EmitFileDirective(const Function *F);
118 } // end namespace llvm;