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.