For non-explicit group, perf report has already supported a option '--group' which can enable group output.
This patch-set will support perf annotate with the same '--group'. For example, perf record -e cycles,branches ./div perf annotate main --stdio --group : Disassembly of section .text: : : 00000000004004b0 <main>: : main(): : : return i; : } : : int main(void) : { 0.00 0.00 : 4004b0: push %rbx : int i; : int flag; : volatile double x = 1212121212, y = 121212; : : s_randseed = time(0); 0.00 0.00 : 4004b1: xor %edi,%edi : srand(s_randseed); 0.00 0.00 : 4004b3: mov $0x77359400,%ebx : : return i; : } : v4: --- Change function name from perf_evlist_forced_leader to perf_evlist__force_leader Impact: ------- perf evlist: Create new function perf_evlist__force_leader perf report: Use perf_evlist__force_leader to support '--group' perf annotate: Support '--group' option v3: --------- Move the comment which was on setup_forced_leader() to the new function perf_evlist_forced_leader(). Impact ------ perf evlist: Create a new function perf_evlist_forced_leader perf report: Use perf_evlist_forced_leader to support '--group' v2: --------- Arnaldo points out that it should be done the way it is for perf report --group. v2 refers to this way and the patch is totally rewritten. Init post: ---------- Post the patch 'perf annotate: Support multiple events without group' Jin Yao (3): perf evlist: Create new function perf_evlist__force_leader perf report: Use perf_evlist__force_leader to support '--group' perf annotate: Support '--group' option tools/perf/builtin-annotate.c | 7 +++++++ tools/perf/builtin-report.c | 13 ++----------- tools/perf/util/evlist.c | 15 +++++++++++++++ tools/perf/util/evlist.h | 3 +++ 4 files changed, 27 insertions(+), 11 deletions(-) -- 2.7.4