aboutsummaryrefslogtreecommitdiff
path: root/arch/v1/plots.cpp
blob: d9147cb69463cb1ea9a5e1c117dbe78e8cb6516e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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
});