diff options
Diffstat (limited to 'arch/v1/plots.cpp')
| -rw-r--r-- | arch/v1/plots.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/arch/v1/plots.cpp b/arch/v1/plots.cpp new file mode 100644 index 0000000..d9147cb --- /dev/null +++ b/arch/v1/plots.cpp @@ -0,0 +1,59 @@ +std::array g_arch_traces = std::to_array<TraceNamed<ImS64>>({ +#define INST(core, pref, index, label, mnemonic, symbol) \ + {#label "_" #pref "_" #core, #label}, +#define FOR_CORE(i) \ + {"wmb0_" #i, "wmb0_" #i}, \ + {"wmb1_" #i, "wmb1_" #i}, \ + {"wdea_" #i, "wdea_" #i}, \ + INST_SET(i, pop) \ + INST_SET(i, exe) \ + INST_SET(i, wrt) + FOR_CORES +#undef FOR_CORE +#undef INST +}); + +std::array g_arch_traces_heatmaps = std::to_array<TraceHeatmap<ImS64>>({ +#define FOR_CORE(i) \ + {"wev_" #i, "wev_" #i}, \ + {"xev_" #i, "xev_" #i}, + FOR_CORES +#undef FOR_CORE +}); + +std::array g_arch_plots = std::to_array<PlotLines>({ + {"wevs", "general", { +#define FOR_CORE(i) "wmb0_" #i, "wmb1_" #i, "wdea_" #i, + FOR_CORES +#undef FOR_CORE + }}, +}); + +std::array g_arch_plots_stacked = std::to_array<PlotStacked>({ +#define INST(core, pref, index, label, mnemonic, symbol) \ + #label "_" #pref "_" #core, +#define FOR_CORE(i) \ + {"ipop%_" #i, "population", { INST_SET(i, pop) }}, + FOR_CORES +#undef FOR_CORE +#define FOR_CORE(i) \ + {"iexe%_" #i, "population", { INST_SET(i, exe) }}, + FOR_CORES +#undef FOR_CORE +#define FOR_CORE(i) \ + {"iwrt%_" #i, "population", { INST_SET(i, wrt) }}, + FOR_CORES +#undef FOR_CORE +#undef INST +}); + +std::array g_arch_plots_heatmaps = std::to_array<PlotHeatmap>({ +#define FOR_CORE(i) \ + {"wev_" #i, "heatmaps", "wev_" #i}, + FOR_CORES +#undef FOR_CORE +#define FOR_CORE(i) \ + {"xev_" #i, "heatmaps", "xev_" #i}, + FOR_CORES +#undef FOR_CORE +}); |
