29 class ModuleDebugInfoPrinter :
public ModulePass {
37 virtual bool runOnModule(
Module &M);
48 "Decodes module-level debug info",
false,
true)
51 return new ModuleDebugInfoPrinter();
54 bool ModuleDebugInfoPrinter::runOnModule(
Module &M) {
55 Finder.processModule(M);
61 E = Finder.compile_unit_end();
I != E; ++
I) {
62 O <<
"Compile Unit: ";
68 E = Finder.subprogram_end();
I != E; ++
I) {
75 E = Finder.global_variable_end();
I != E; ++
I) {
76 O <<
"GlobalVariable: ";
82 E = Finder.type_end();
I != E; ++
I) {
static PassRegistry * getPassRegistry()
The main container class for the LLVM Intermediate Representation.
INITIALIZE_PASS(ModuleDebugInfoPrinter,"module-debuginfo","Decodes module-level debug info", false, true) ModulePass *llvm
ID
LLVM Calling Convention Representation.
DISubprogram - This is a wrapper for a subprogram (e.g. a function).
void initializeModuleDebugInfoPrinterPass(PassRegistry &)
DIGlobalVariable - This is a wrapper for a global variable.
ModulePass * createModuleDebugInfoPrinterPass()
void print(raw_ostream &OS) const
print - print descriptor.
void print(raw_ostream &O, AssemblyAnnotationWriter *AAW=0) const
DICompileUnit - A wrapper for a compile unit.