This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Jan, The following patch started as a one-liner for ipa-inline-analysis.c: account_size_time() to merge predicates when we are adding data to entry[0] (i.e., when space for 32 size_time entries is exhausted): @@ -537,6 +592,9 @@ account_size_time (struct inline_summary } else { + e->predicate = or_predicates (summary->conds, &e->predicate, pred); e->size += size; e->time += time; if (e->time > MAX_TIME * INLINE_TIME_SCALE) The rationale was that since we are accounting size and time under the entry we also need to make entry's predicate a superset of the predicate we want to account the data under. Then I thought that mushing all predicates into the single predicate of entry[0] will cause it to become true_predicate() very quickly, so I added logic to distribute incoming size_time information across all 32 entries by searching for entries with similar predicates. OK for trunk assuming testing on x86_64-linux-gnu shows no regressions? Thank you, -- Maxim Kuvyrkov CodeSourcery / Mentor Graphics
Attachment:
0001-Improve-ipa-inline-analysis.c-account_size_time-to-d.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |