HPCToolkit
Struct-Output.cpp File Reference
#include <limits.h>
#include <list>
#include <map>
#include <ostream>
#include <string>
#include <lib/binutils/VMAInterval.hpp>
#include <lib/support/FileUtil.hpp>
#include <lib/support/StringTable.hpp>
#include <lib/support/dictionary.h>
#include <lib/xml/xml.hpp>
#include "Struct-Inline.hpp"
#include "Struct-Output.hpp"
#include "Struct-Skel.hpp"
#include <lib/xml/hpc-structure.dtd.h>
Include dependency graph for Struct-Output.cpp:

Go to the source code of this file.

Classes

class  BAnal::Output::ScopeInfo
 

Namespaces

 BAnal
 
 BAnal::Output
 

Macros

#define INDENT   " "
 
#define INIT_LM_INDEX   2
 
#define INDEX   " i=\"" << next_index++ << "\""
 
#define NUMBER(label, num)   " " << label << "=\"" << num << "\""
 
#define STRING(label, str)   " " << label << "=\"" << xml::EscapeStr(str) << "\""
 
#define VRANGE(vma, len)   " v=\"{[0x" << hex << vma << "-0x" << vma + len << dec << ")}\""
 

Typedefs

typedef map< long, TreeNode * > BAnal::Output::AlienMap
 
typedef map< long, VMAIntervalSet * > BAnal::Output::LineNumberMap
 

Functions

static void doIndent (ostream *os, int depth)
 
static void BAnal::Output::doGaps (ostream *, ostream *, string, FileInfo *, GroupInfo *, ProcInfo *)
 
static void BAnal::Output::doTreeNode (ostream *, int, TreeNode *, ScopeInfo, HPC::StringTable &)
 
static void BAnal::Output::doStmtList (ostream *, int, TreeNode *)
 
static void BAnal::Output::doLoopList (ostream *, int, TreeNode *, HPC::StringTable &)
 
static void BAnal::Output::locateTree (TreeNode *, ScopeInfo &, HPC::StringTable &, bool=false)
 
void BAnal::Output::printStructFileBegin (ostream *os, ostream *gaps, string filenm)
 
void BAnal::Output::printStructFileEnd (ostream *os, ostream *gaps)
 
void BAnal::Output::printLoadModuleBegin (ostream *os, string lmName)
 
void BAnal::Output::printLoadModuleEnd (ostream *os)
 
void BAnal::Output::printFileBegin (ostream *os, FileInfo *finfo)
 
void BAnal::Output::printFileEnd (ostream *os, FileInfo *finfo)
 
void BAnal::Output::printVariable (ostream *os, FileInfo *finfo, VariableInfo vinfo)
 
void BAnal::Output::printProc (ostream *os, ostream *gaps, string gaps_file, FileInfo *finfo, GroupInfo *ginfo, ProcInfo *pinfo, HPC::StringTable &strTab)
 

Variables

static long next_index
 
static long gaps_line
 
static const char * hpcstruct_xml_head =
 

Macro Definition Documentation

◆ INDENT

#define INDENT   " "

Definition at line 87 of file Struct-Output.cpp.

◆ INDEX

#define INDEX   " i=\"" << next_index++ << "\""

Definition at line 106 of file Struct-Output.cpp.

◆ INIT_LM_INDEX

#define INIT_LM_INDEX   2

Definition at line 88 of file Struct-Output.cpp.

◆ NUMBER

#define NUMBER (   label,
  num 
)    " " << label << "=\"" << num << "\""

Definition at line 109 of file Struct-Output.cpp.

◆ STRING

#define STRING (   label,
  str 
)    " " << label << "=\"" << xml::EscapeStr(str) << "\""

Definition at line 112 of file Struct-Output.cpp.

◆ VRANGE

#define VRANGE (   vma,
  len 
)    " v=\"{[0x" << hex << vma << "-0x" << vma + len << dec << ")}\""

Definition at line 115 of file Struct-Output.cpp.

Function Documentation

◆ doIndent()

static void doIndent ( ostream *  os,
int  depth 
)
static

Definition at line 119 of file Struct-Output.cpp.

Here is the caller graph for this function:

Variable Documentation

◆ gaps_line

long gaps_line
static

Definition at line 94 of file Struct-Output.cpp.

◆ hpcstruct_xml_head

const char* hpcstruct_xml_head =
static

Definition at line 96 of file Struct-Output.cpp.

◆ next_index

long next_index
static

Definition at line 93 of file Struct-Output.cpp.