|
HPCToolkit
|
#include <sys/types.h>#include <sys/resource.h>#include <sys/time.h>#include <stdlib.h>#include <string.h>#include <include/uint.h>#include <algorithm>#include <map>#include <set>#include <string>#include <vector>#include <mutex>#include <ostream>#include <sstream>#include <lib/binutils/BinUtils.hpp>#include <lib/binutils/VMAInterval.hpp>#include <lib/support/FileNameMap.hpp>#include <lib/support/FileUtil.hpp>#include <lib/support/RealPathMgr.hpp>#include <lib/support/StringTable.hpp>#include <CFG.h>#include <CodeObject.h>#include <CodeSource.h>#include <Function.h>#include <Instruction.h>#include <Module.h>#include <Region.h>#include <Symtab.h>#include <include/hpctoolkit-config.h>#include "ElfHelper.hpp"#include "InputFile.hpp"#include "Struct.hpp"#include "Struct-Inline.hpp"#include "Struct-Output.hpp"#include "Struct-Skel.hpp"
Go to the source code of this file.
Classes | |
| class | BAnal::Struct::HeaderInfo |
| class | BAnal::Struct::WorkEnv |
| class | BAnal::Struct::WorkItem |
| class | BAnal::Struct::LineMapCache |
Namespaces | |
| BAnal | |
| BAnal::Struct | |
Macros | |
| #define | SYMTAB_ARCH_CUDA(symtab) 0 |
| #define | DEBUG_CFG_SOURCE 0 |
| #define | DEBUG_MAKE_SKEL 0 |
| #define | DEBUG_SHOW_GAPS 0 |
| #define | DEBUG_SKEL_SUMMARY 0 |
| #define | DEBUG_ANY_ON 0 |
| #define | WORK_LIST_PCT 0.05 |
| #define | MIN_BYTES_GLOBAL_VARIABLE 1024 |
| #define | DEBUG_ANY(expr) |
| #define | DEBUG_CFG(expr) |
| #define | DEBUG_SKEL(expr) |
| #define | DEBUG_GAPS(expr) |
Typedefs | |
| typedef map< Block *, bool > | BAnal::Struct::BlockSet |
| typedef map< VMA, HeaderInfo > | BAnal::Struct::HeaderList |
| typedef map< VMA, Region * > | BAnal::Struct::RegionMap |
| typedef vector< Statement::Ptr > | BAnal::Struct::StatementVector |
| typedef vector< WorkItem * > | BAnal::Struct::WorkList |
Functions | |
| static FileMap * | BAnal::Struct::makeSkeleton (CodeObject *, const string &) |
| static void | BAnal::Struct::doWorkItem (WorkItem *, string &, bool, bool) |
| static void | BAnal::Struct::makeWorkList (FileMap *, WorkList &, WorkList &) |
| static void | BAnal::Struct::makeVariables (ostream *outFile) |
| static void | BAnal::Struct::printWorkList (WorkList &, uint &, ostream *, ostream *, string &) |
| static void | BAnal::Struct::doFunctionList (WorkEnv &, FileInfo *, GroupInfo *, bool) |
| static LoopList * | BAnal::Struct::doLoopTree (WorkEnv &, FileInfo *, GroupInfo *, ParseAPI::Function *, BlockSet &, LoopTreeNode *) |
| static TreeNode * | BAnal::Struct::doLoopLate (WorkEnv &, GroupInfo *, ParseAPI::Function *, BlockSet &, Loop *, const string &) |
| static void | BAnal::Struct::doBlock (WorkEnv &, GroupInfo *, ParseAPI::Function *, BlockSet &, Block *, TreeNode *) |
| static void | BAnal::Struct::doCudaList (WorkEnv &, FileInfo *, GroupInfo *) |
| static void | BAnal::Struct::doCudaFunction (WorkEnv &, GroupInfo *, ParseAPI::Function *, TreeNode *) |
| static void | BAnal::Struct::addGaps (WorkEnv &env, FileInfo *, GroupInfo *) |
| static void | BAnal::Struct::getStatement (StatementVector &, Offset, SymtabAPI::Function *) |
| static LoopInfo * | BAnal::Struct::findLoopHeader (WorkEnv &env, FileInfo *, GroupInfo *, ParseAPI::Function *, TreeNode *, Loop *, const string &) |
| static TreeNode * | BAnal::Struct::deleteInlinePrefix (WorkEnv &, TreeNode *, Inline::InlineSeqn) |
| static void | BAnal::Struct::mergeIrredLoops (WorkEnv &, LoopInfo *) |
| static void | BAnal::Struct::computeGaps (VMAIntervalSet &, VMAIntervalSet &, VMA, VMA) |
| static bool | BAnal::Struct::BlockLessThan (Block *b1, Block *b2) |
| static bool | BAnal::Struct::EdgeLessThan (Edge *e1, Edge *e2) |
| static bool | BAnal::Struct::WorkItemGreaterThan (WorkItem *w1, WorkItem *w2) |
| static VMA | BAnal::Struct::LoopMinEntryAddr (Loop *loop) |
| static bool | BAnal::Struct::LoopTreeLessThan (LoopTreeNode *n1, LoopTreeNode *n2) |
| static bool | BAnal::Struct::LoopInfoLessThan (LoopInfo *l1, LoopInfo *l2) |
| static void | BAnal::Struct::printTime (const char *label, struct timeval *tv_prev, struct rusage *ru_prev, struct timeval *tv_now, struct rusage *ru_now) |
| void | BAnal::Struct::makeStructure (string filename, ostream *outFile, ostream *gapsFile, string gaps_filenm, string search_path, Struct::Options &structOpts) |
| static void | BAnal::Struct::makeCodeMap (RegionMap &codeMap) |
| static Region * | BAnal::Struct::findCodeRegion (RegionMap &codeMap, VMA vma) |
| static void | BAnal::Struct::getProcLineMap (StatementVector &svec, Offset vma, Offset end, SymtabAPI::Function *sym_func) |
| static void | BAnal::Struct::addProc (FileMap *fileMap, ProcInfo *pinfo, string &filenm, SymtabAPI::Function *sym_func, VMA start, VMA end, bool alt_file=false) |
| static void | BAnal::Struct::getFuncNames (SymtabAPI::Function *sym_func, string &prettynm, string &linknm, bool ourDemangle) |
Variables | |
| static int | merge_irred_loops = 1 |
| static const string & | unknown_file = "<unknown file>" |
| static const string & | unknown_proc = "<unknown proc>" |
| static const string & | unknown_link = "_unknown_proc_" |
| static Symtab * | the_symtab = NULL |
| static BAnal::Struct::Options | opts |
| #define DEBUG_ANY | ( | expr | ) |
Definition at line 263 of file Struct.cpp.
| #define DEBUG_ANY_ON 0 |
Definition at line 138 of file Struct.cpp.
| #define DEBUG_CFG | ( | expr | ) |
Definition at line 270 of file Struct.cpp.
| #define DEBUG_CFG_SOURCE 0 |
Definition at line 130 of file Struct.cpp.
| #define DEBUG_GAPS | ( | expr | ) |
Definition at line 282 of file Struct.cpp.
| #define DEBUG_MAKE_SKEL 0 |
Definition at line 131 of file Struct.cpp.
| #define DEBUG_SHOW_GAPS 0 |
Definition at line 132 of file Struct.cpp.
| #define DEBUG_SKEL | ( | expr | ) |
Definition at line 276 of file Struct.cpp.
| #define DEBUG_SKEL_SUMMARY 0 |
Definition at line 133 of file Struct.cpp.
| #define MIN_BYTES_GLOBAL_VARIABLE 1024 |
Definition at line 143 of file Struct.cpp.
| #define SYMTAB_ARCH_CUDA | ( | symtab | ) | 0 |
Definition at line 127 of file Struct.cpp.
| #define WORK_LIST_PCT 0.05 |
Definition at line 141 of file Struct.cpp.
|
static |
Definition at line 145 of file Struct.cpp.
|
static |
Definition at line 160 of file Struct.cpp.
|
static |
Definition at line 158 of file Struct.cpp.
|
static |
Definition at line 153 of file Struct.cpp.
|
static |
Definition at line 155 of file Struct.cpp.
|
static |
Definition at line 154 of file Struct.cpp.