> + /* LBR/BRBE has no per-entry timestamps. Use the enclosing sample time as
> + an upper bound for accepted branch and range endpoints. */
> + const perf_branch_stack_entry &head = entries[start];
> + uint64_t head_from = 0;
> + uint64_t head_to = 0;
> + if (try_translate_runtime_with_mmaps (target_mmaps, head.from, &head_from)
> + && try_translate_runtime_with_mmaps (target_mmaps, head.to, &head_to))
> + {
> + branch_count_map[{head_from, head_to}]++;
> + timestamps.note_sample_timestamp (head_from, sample_time);
> + timestamps.note_sample_timestamp (head_to, sample_time);
Is this just needed for the working set? Give that gcc ignores it
anyways maybe it could be made optional.