diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2021-08-26 16:57:46 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@ucw.cz> | 2021-08-26 16:57:46 +0200 |
commit | e28ac73af20028f829c4ba1ffd38ea84e7419b0d (patch) | |
tree | ca72244b2ac18f42d96931b4c06afbbd349947e9 /gcc/ipa-modref.c | |
parent | c80d7230fba64097e4a2f1c88b189ba46b984519 (diff) | |
download | gcc-e28ac73af20028f829c4ba1ffd38ea84e7419b0d.zip gcc-e28ac73af20028f829c4ba1ffd38ea84e7419b0d.tar.gz gcc-e28ac73af20028f829c4ba1ffd38ea84e7419b0d.tar.bz2 |
Improve handling of modref params.
this patch makes insertion to modref access tree smarter when --param
modref-max-bases and moredref-max-refs are hit. Instead of giving up
we either give up on base alias set (make it equal to ref) or turn the
alias set to 0. This lets us to track useful info on quite large
functions, such as ggc_free.
gcc/ChangeLog:
* ipa-modref-tree.c (test_insert_search_collapse): Update test.
* ipa-modref-tree.h (modref_base_node::insert): Be smarter when
hiting --param modref-max-refs limit.
(modref_tree:insert_base): Be smarter when hitting
--param modref-max-bases limit. Add new parameter REF.
(modref_tree:insert): Update.
(modref_tree:merge): Update.
* ipa-modref.c (read_modref_records): Update.
Diffstat (limited to 'gcc/ipa-modref.c')
-rw-r--r-- | gcc/ipa-modref.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ipa-modref.c b/gcc/ipa-modref.c index 0d5ab9c..6e7788e 100644 --- a/gcc/ipa-modref.c +++ b/gcc/ipa-modref.c @@ -2445,9 +2445,9 @@ read_modref_records (lto_input_block *ib, struct data_in *data_in, if (nolto_ret) nolto_base_node = (*nolto_ret)->insert_base (base_tree ? get_alias_set (base_tree) - : 0); + : 0, 0); if (lto_ret) - lto_base_node = (*lto_ret)->insert_base (base_tree); + lto_base_node = (*lto_ret)->insert_base (base_tree, 0); size_t every_ref = streamer_read_uhwi (ib); size_t nref = streamer_read_uhwi (ib); |