HPCToolkit
|
#include <string.h>
#include <stdio.h>
#include <inttypes.h>
#include <assert.h>
#include <include/gcc-attr.h>
#include <include/uint.h>
#include <include/min-max.h>
#include "ppc64-unwind-interval.h"
#include "hpcrun-malloc.h"
#include "uw_recipe_map.h"
#include "fnbounds_interface.h"
#include <hpcrun/hpcrun_stats.h>
#include <messages/messages.h>
#include <lib/isa-lean/power/instruction-set.h>
Go to the source code of this file.
Macros | |
#define | MYDBG 0 |
#define | STR(s) case s: return #s |
#define | INSN(insn) ((char*)(insn)) |
Functions | |
static btuwi_status_t | ppc64_build_intervals (char *ins, unsigned int len) |
static void | ppc64_print_interval_set (unwind_interval *first) |
static const char * | ra_ty_string (ra_ty_t ty) |
static const char * | sp_ty_string (sp_ty_t ty) |
btuwi_status_t | build_intervals (char *ins, unsigned int len, unwinder_t uw) |
unwind_interval * | new_ui (char *startaddr, sp_ty_t sp_ty, ra_ty_t ra_ty, int sp_arg, int ra_arg) |
void | link_ui (unwind_interval *current, unwind_interval *next) |
void | ppc64recipe_tostr (void *recipe, char str[]) |
void | ppc64recipe_print (void *recipe) |
void | uw_recipe_tostr (void *recipe, char str[], unwinder_t uw) |
void | uw_recipe_print (void *recipe) |
void | ui_dump (unwind_interval *u) |
void | suspicious_interval (void *pc) |
static bool | isInsn_MFLR (uint32_t insn, int *Rt) |
static bool | isInsn_MTLR (uint32_t insn, int *Rt) |
static bool | isInsn_STW (uint32_t insn, int Rs, int Ra) |
static bool | isInsn_STD (uint32_t insn, int Rs, int Ra) |
static bool | isInsn_LWZ (uint32_t insn, int Rt, int Ra) |
static bool | isInsn_STWU (uint32_t insn, int Rs, int Ra) |
static bool | isInsn_STDU (uint32_t insn, int Rs, int Ra) |
static bool | isInsn_STWUX (uint32_t insn, int Ra) |
static bool | isInsn_STDUX (uint32_t insn, int Ra) |
static bool | isInsn_ADDI (uint32_t insn, int Rt, int Ra) |
static bool | isInsn_MR (uint32_t insn, int Ra) |
static bool | isInsn_BLR (uint32_t insn) |
static int | getRADispFromSPDisp (int sp_disp) |
static int | getSPDispFromUI (unwind_interval *ui) |
static char * | nextInsn (uint32_t *insn) |
void | ppc64_dump_intervals (void *addr) |
void | hpcrun_dump_intervals (void *addr) |
#define INSN | ( | insn | ) | ((char*)(insn)) |
Definition at line 408 of file ppc64-unwind-interval.c.
#define MYDBG 0 |
Definition at line 78 of file ppc64-unwind-interval.c.
#define STR | ( | s | ) | case s: return #s |
Definition at line 228 of file ppc64-unwind-interval.c.
btuwi_status_t build_intervals | ( | char * | ins, |
unsigned int | len, | ||
unwinder_t | uw | ||
) |
|
inlinestatic |
|
inlinestatic |
void hpcrun_dump_intervals | ( | void * | addr | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void link_ui | ( | unwind_interval * | current, |
unwind_interval * | next | ||
) |
unwind_interval* new_ui | ( | char * | startaddr, |
sp_ty_t | sp_ty, | ||
ra_ty_t | ra_ty, | ||
int | sp_arg, | ||
int | ra_arg | ||
) |
Definition at line 118 of file ppc64-unwind-interval.c.
|
inlinestatic |
|
static |
Definition at line 509 of file ppc64-unwind-interval.c.
void ppc64_dump_intervals | ( | void * | addr | ) |
Definition at line 717 of file ppc64-unwind-interval.c.
|
static |
Definition at line 706 of file ppc64-unwind-interval.c.
void ppc64recipe_print | ( | void * | recipe | ) |
Definition at line 173 of file ppc64-unwind-interval.c.
void ppc64recipe_tostr | ( | void * | recipe, |
char | str[] | ||
) |
|
static |
|
static |
void suspicious_interval | ( | void * | pc | ) |
void ui_dump | ( | unwind_interval * | u | ) |
Definition at line 199 of file ppc64-unwind-interval.c.
void uw_recipe_print | ( | void * | recipe | ) |
void uw_recipe_tostr | ( | void * | recipe, |
char | str[], | ||
unwinder_t | uw | ||
) |