|
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 | ||
| ) |