Lines Matching refs:parse_state
441 bool parse_events__filter_pmu(const struct parse_events_state *parse_state, in parse_events__filter_pmu() argument
444 if (parse_state->pmu_filter == NULL) in parse_events__filter_pmu()
447 return strcmp(parse_state->pmu_filter, pmu->name) != 0; in parse_events__filter_pmu()
450 static int parse_events_add_pmu(struct parse_events_state *parse_state,
456 struct parse_events_state *parse_state, in parse_events_add_cache() argument
469 if (parse_events__filter_pmu(parse_state, pmu)) in parse_events_add_cache()
477 ret = parse_events_add_pmu(parse_state, list, pmu, in parse_events_add_cache()
500 if (config_attr(&attr, parsed_terms, parse_state->error, in parse_events_add_cache()
550 static int add_tracepoint(struct parse_events_state *parse_state, in add_tracepoint() argument
557 struct evsel *evsel = evsel__newtp_idx(sys_name, evt_name, parse_state->idx++, in add_tracepoint()
558 !parse_state->fake_tp); in add_tracepoint()
577 static int add_tracepoint_multi_event(struct parse_events_state *parse_state, in add_tracepoint_multi_event() argument
612 ret = add_tracepoint(parse_state, list, sys_name, evt_ent->d_name, in add_tracepoint_multi_event()
626 static int add_tracepoint_event(struct parse_events_state *parse_state, in add_tracepoint_event() argument
633 add_tracepoint_multi_event(parse_state, list, sys_name, evt_name, in add_tracepoint_event()
635 add_tracepoint(parse_state, list, sys_name, evt_name, in add_tracepoint_event()
639 static int add_tracepoint_multi_sys(struct parse_events_state *parse_state, in add_tracepoint_multi_sys() argument
666 ret = add_tracepoint_event(parse_state, list, events_ent->d_name, in add_tracepoint_multi_sys()
735 int parse_events_add_breakpoint(struct parse_events_state *parse_state, in parse_events_add_breakpoint() argument
764 if (config_attr(&attr, head_config, parse_state->error, in parse_events_add_breakpoint()
774 return add_event(list, &parse_state->idx, &attr, name, /*mertic_id=*/NULL, in parse_events_add_breakpoint()
1323 int parse_events_add_tracepoint(struct parse_events_state *parse_state, in parse_events_add_tracepoint() argument
1340 return add_tracepoint_multi_sys(parse_state, list, sys, event, in parse_events_add_tracepoint()
1343 return add_tracepoint_event(parse_state, list, sys, event, in parse_events_add_tracepoint()
1346 (void)parse_state; in parse_events_add_tracepoint()
1357 static int __parse_events_add_numeric(struct parse_events_state *parse_state, in __parse_events_add_numeric() argument
1376 if (config_attr(&attr, head_config, parse_state->error, in __parse_events_add_numeric()
1386 ret = __add_event(list, &parse_state->idx, &attr, /*init_attr*/true, name, in __parse_events_add_numeric()
1393 int parse_events_add_numeric(struct parse_events_state *parse_state, in parse_events_add_numeric() argument
1408 if (parse_events__filter_pmu(parse_state, pmu)) in parse_events_add_numeric()
1411 ret = __parse_events_add_numeric(parse_state, list, pmu, in parse_events_add_numeric()
1420 return __parse_events_add_numeric(parse_state, list, perf_pmus__find_by_type(type), in parse_events_add_numeric()
1424 int parse_events_add_tool(struct parse_events_state *parse_state, in parse_events_add_tool() argument
1428 return add_event_tool(list, &parse_state->idx, tool_event); in parse_events_add_tool()
1443 static int parse_events_add_pmu(struct parse_events_state *parse_state, in parse_events_add_pmu() argument
1451 struct parse_events_error *err = parse_state->error; in parse_events_add_pmu()
1479 evsel = __add_event(list, &parse_state->idx, &attr, in parse_events_add_pmu()
1497 if (config_attr(&attr, &parsed_terms, parse_state->error, config_term_pmu)) { in parse_events_add_pmu()
1520 config_attr(&attr, &parsed_terms, parse_state->error, config_term_pmu)) { in parse_events_add_pmu()
1540 if (perf_pmu__config(pmu, &attr, &parsed_terms, parse_state->error)) { in parse_events_add_pmu()
1546 evsel = __add_event(list, &parse_state->idx, &attr, /*init_attr=*/true, in parse_events_add_pmu()
1569 int parse_events_multi_pmu_add(struct parse_events_state *parse_state, in parse_events_multi_pmu_add() argument
1615 if (parse_events__filter_pmu(parse_state, pmu)) in parse_events_multi_pmu_add()
1622 if (!parse_events_add_pmu(parse_state, list, pmu, in parse_events_multi_pmu_add()
1634 if (parse_state->fake_pmu) { in parse_events_multi_pmu_add()
1635 if (!parse_events_add_pmu(parse_state, list, perf_pmus__fake_pmu(), &parsed_terms, in parse_events_multi_pmu_add()
1657 int parse_events_multi_pmu_add_or_add_pmu(struct parse_events_state *parse_state, in parse_events_multi_pmu_add_or_add_pmu() argument
1676 if (pmu && !parse_events_add_pmu(parse_state, *listp, pmu, const_parsed_terms, in parse_events_multi_pmu_add_or_add_pmu()
1680 if (parse_state->fake_pmu) { in parse_events_multi_pmu_add_or_add_pmu()
1681 if (!parse_events_add_pmu(parse_state, *listp, perf_pmus__fake_pmu(), in parse_events_multi_pmu_add_or_add_pmu()
1690 if (!parse_events__filter_pmu(parse_state, pmu) && in parse_events_multi_pmu_add_or_add_pmu()
1694 if (!parse_events_add_pmu(parse_state, *listp, pmu, in parse_events_multi_pmu_add_or_add_pmu()
1698 parse_state->wild_card_pmus = true; in parse_events_multi_pmu_add_or_add_pmu()
1707 if (!parse_events_multi_pmu_add(parse_state, event_or_pmu, const_parsed_terms, listp, loc)) in parse_events_multi_pmu_add_or_add_pmu()
1712 parse_events_error__handle(parse_state->error, loc->first_column, in parse_events_multi_pmu_add_or_add_pmu()
1734 static int parse_events__modifier_list(struct parse_events_state *parse_state, in parse_events__modifier_list() argument
1743 parse_events_error__handle(parse_state->error, loc->first_column, in parse_events__modifier_list()
1815 parse_events_error__handle(parse_state->error, in parse_events__modifier_list()
1843 int parse_events__modifier_group(struct parse_events_state *parse_state, void *loc, in parse_events__modifier_group() argument
1847 return parse_events__modifier_list(parse_state, loc, list, mod, /*group=*/true); in parse_events__modifier_group()
1850 int parse_events__modifier_event(struct parse_events_state *parse_state, void *loc, in parse_events__modifier_event() argument
1854 return parse_events__modifier_list(parse_state, loc, list, mod, /*group=*/false); in parse_events__modifier_event()
1877 struct parse_events_state *parse_state) in parse_events__scanner() argument
1883 ret = parse_events_lex_init_extra(parse_state, &scanner); in parse_events__scanner()
1896 ret = parse_events_parse(parse_state, scanner); in parse_events__scanner()
1911 struct parse_events_state parse_state = { in parse_events_terms() local
1917 ret = parse_events__scanner(str, input, &parse_state); in parse_events_terms()
1919 list_splice(&parse_state.terms->terms, &terms->terms); in parse_events_terms()
1921 zfree(&parse_state.terms); in parse_events_terms()
2153 struct parse_events_state parse_state = { in __parse_events() local
2154 .list = LIST_HEAD_INIT(parse_state.list), in __parse_events()
2165 ret = parse_events__scanner(str, /*input=*/ NULL, &parse_state); in __parse_events()
2167 if (!ret && list_empty(&parse_state.list)) { in __parse_events()
2172 ret2 = parse_events__sort_events_and_fix_groups(&parse_state.list); in __parse_events()
2176 if (ret2 && warn_if_reordered && !parse_state.wild_card_pmus) in __parse_events()
2182 evlist__splice_list_tail(evlist, &parse_state.list); in __parse_events()