const char              *pretty_printing_style;
        symbol_filter_t         annotate_init;
        const char              *cpu_list;
+       const char              *symbol_filter_str;
        DECLARE_BITMAP(cpu_bitmap, MAX_NR_CPUS);
 };
 
        list_for_each_entry(pos, &session->evlist->entries, node) {
                struct hists *hists = &pos->hists;
 
+               if (pos->idx == 0)
+                       hists->symbol_filter_str = rep->symbol_filter_str;
+
                hists__collapse_resort(hists);
                hists__output_resort(hists);
                nr_samples += hists->stats.nr_events[PERF_RECORD_SAMPLE];
                   "only consider symbols in these comms"),
        OPT_STRING('S', "symbols", &symbol_conf.sym_list_str, "symbol[,symbol...]",
                   "only consider these symbols"),
+       OPT_STRING(0, "symbol-filter", &report.symbol_filter_str, "filter",
+                  "only show symbols that (partially) match with this filter"),
        OPT_STRING('w', "column-widths", &symbol_conf.col_width_list_str,
                   "width[,width...]",
                   "don't try to adjust column width, use these fixed values"),