86 sizeof(PredefinedDCPIMetricTable::table) / sizeof(PredefinedDCPIMetricTable::Entry) 100 {
"CYCLES",
"Processor cycles",
118 {
"pmRETDEL",
"Delays before retire (excludes all cycles prior to fetch).",
126 {
"INSTRUCT",
"Retired Instructions (includes mispredicted branches)",
127 PM0 | PM1 | PM2 | PM3,
NULL,
133 {
"FLOPS",
"Retired FP Instructions (includes mispredicted branches)",
134 PM0 | PM1 | PM2 | PM3,
NULL,
140 {
"MEMOPS",
"Retired Memory Access Instructions",
141 PM0 | PM1 | PM2 | PM3,
NULL,
147 {
"INTOPS",
"Retired Integer Instructions",
148 PM0 | PM1 | PM2 | PM3,
NULL,
154 {
"TRAPS",
"Instructions causing traps",
155 PM0 | PM1 | PM2 | PM3,
NULL,
161 {
"LSREPLAY",
"Replays caused by load/store ordering. [Untested]",
162 PM0 | PM1 | PM2 | PM3,
NULL,
168 {
"MPBRANCH",
"Mispredicted branches",
169 PM0 | PM1 | PM2 | PM3,
NULL,
176 {
"pmBCMISS",
"sampled B-cache (L2) misses.",
177 PM0 | PM1 | PM2 | PM3,
NULL,
183 {
"TLBMISS",
"TLB miss at any level.",
184 PM0 | PM1 | PM2 | PM3,
NULL,
191 {
"IMISS",
"Lower bound on instruction cache misses",
192 PM0 | PM1 | PM2 | PM3,
NULL,
213 {
"pmINFLT",
"Inflight cycles (excludes fetch stage) for instructions that retired without trapping.",
214 PM0 | PM1 | PM3,
NULL,
221 {
"pmRETIRE",
"Instruction retires.",
227 {
"pmREPLAY",
"Memory system replay traps.",
248 {
"RETIRES",
"Retired instructions",
254 {
"MBREPLAY",
"Mbox replay traps",
260 {
"BCMISS",
"Bcache misses or long-latency probes",
282 for (
unsigned int i = 0; i <
GetSize(); ++i) {
283 if (strcmp(metric,
table[i].name) == 0) {
307 if (!e) {
return NULL; }
325 DIAG_Assert(dm,
"Internal Error: invalid cast!");
328 return expr.IsSatisfied(mdesc);
static struct perf_mem_metric metric
#define DCPI_PM_TRAP_dtbmiss
#define DCPI_PM_ATTR_early_kill_F
#define DCPI_PM_TRAP_trap
#define DCPI_PM_CNTR_count
PCProfileFilter * GetPredefinedDCPIFilter(const char *metric, binutils::LM *lm)
void SetDescription(const char *s)
static Entry * FindEntry(const char *token)
#define DCPI_PM_CNTR_retires
#define DCPI_PM_ATTR_nyp_T
static Entry * Index(unsigned int i)
#define DCPI_PM_CNTR_replays
#define DCPI_PM_CNTR_bcmisses
static unsigned int GetSize()
#define DCPI_PM_ATTR_ldstorder_T
#define DCPI_PM_TRAP_dtb2miss3
#define DCPI_RM_replaytrap
#define DCPI_PM_TRAP_dtb2miss4
const DCPIMetricDesc & GetDCPIDesc() const
void SetName(const char *s)
virtual bool operator()(const PCProfileMetric *m)
#define DCPI_PM_ATTR_cbrmispredict_T
#define DCPI_PM_ATTR_retired_T
#define DCPI_PM_CNTR_inflight
#define DCPI_PM_CNTR_retdelay