rocprofiler-sdk/amd_detail/rocprofiler-sdk-codeobj/disassembly.hpp File Reference

rocprofiler-sdk/amd_detail/rocprofiler-sdk-codeobj/disassembly.hpp File Reference#

Rocprofiler SDK Developer API: rocprofiler-sdk/amd_detail/rocprofiler-sdk-codeobj/disassembly.hpp File Reference
Rocprofiler SDK Developer API 0.4.0
ROCm Profiling API and tools
disassembly.hpp File Reference
#include <amd_comgr/amd_comgr.h>
#include <fcntl.h>
#include <hsa/amd_hsa_elf.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <cstring>
#include <fstream>
#include <iostream>
#include <limits>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <unordered_map>
#include <vector>
+ Include dependency graph for disassembly.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  rocprofiler::codeobj::disassembly::CodeObjectBinary
 
struct  rocprofiler::codeobj::disassembly::SymbolInfo
 
class  rocprofiler::codeobj::disassembly::DisassemblyInstance
 

Namespaces

namespace  rocprofiler
 
namespace  rocprofiler::codeobj
 
namespace  rocprofiler::codeobj::disassembly
 

Macros

#define THROW_COMGR(call)
 
#define RETURN_COMGR(call)
 
#define CHECK_VA2FO(x, msg)
 

Data Structure Documentation

◆ rocprofiler::codeobj::disassembly::SymbolInfo

struct rocprofiler::codeobj::disassembly::SymbolInfo

Definition at line 182 of file disassembly.hpp.

+ Collaboration diagram for rocprofiler::codeobj::disassembly::SymbolInfo:
Data Fields
uint64_t faddr = 0
uint64_t mem_size = 0
string name {}
uint64_t vaddr = 0

Macro Definition Documentation

◆ CHECK_VA2FO

#define CHECK_VA2FO (   x,
  msg 
)
Value:
if(!(x)) \
{ \
std::cerr << __FILE__ << ' ' << __LINE__ << ' ' << msg << std::endl; \
return std::nullopt; \
}

Definition at line 64 of file disassembly.hpp.

66 { \
67 std::cerr << __FILE__ << ' ' << __LINE__ << ' ' << msg << std::endl; \
68 return std::nullopt; \
69 }

◆ RETURN_COMGR

#define RETURN_COMGR (   call)
Value:
if(amd_comgr_status_s status = call) \
{ \
const char* reason = ""; \
amd_comgr_status_string(status, &reason); \
std::cerr << __FILE__ << ':' << __LINE__ << " code: " << status << " failed: " << reason \
<< std::endl; \
return AMD_COMGR_STATUS_ERROR; \
}

Definition at line 54 of file disassembly.hpp.

56 { \
57 const char* reason = ""; \
58 amd_comgr_status_string(status, &reason); \
59 std::cerr << __FILE__ << ':' << __LINE__ << " code: " << status << " failed: " << reason \
60 << std::endl; \
61 return AMD_COMGR_STATUS_ERROR; \
62 }

◆ THROW_COMGR

#define THROW_COMGR (   call)
Value:
if(amd_comgr_status_s status = call) \
{ \
const char* reason = ""; \
amd_comgr_status_string(status, &reason); \
std::cerr << __FILE__ << ':' << __LINE__ << " code: " << status << " failed: " << reason \
<< std::endl; \
throw std::exception(); \
}

Definition at line 44 of file disassembly.hpp.

46 { \
47 const char* reason = ""; \
48 amd_comgr_status_string(status, &reason); \
49 std::cerr << __FILE__ << ':' << __LINE__ << " code: " << status << " failed: " << reason \
50 << std::endl; \
51 throw std::exception(); \
52 }