aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-modref-tree.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2021-08-26 16:57:46 +0200
committerJan Hubicka <hubicka@ucw.cz>2021-08-26 16:57:46 +0200
commite28ac73af20028f829c4ba1ffd38ea84e7419b0d (patch)
treeca72244b2ac18f42d96931b4c06afbbd349947e9 /gcc/ipa-modref-tree.c
parentc80d7230fba64097e4a2f1c88b189ba46b984519 (diff)
downloadgcc-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-tree.c')
-rw-r--r--gcc/ipa-modref-tree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ipa-modref-tree.c b/gcc/ipa-modref-tree.c
index 69395b0..8d147a1 100644
--- a/gcc/ipa-modref-tree.c
+++ b/gcc/ipa-modref-tree.c
@@ -101,7 +101,7 @@ test_insert_search_collapse ()
ASSERT_TRUE (base_node->every_ref);
/* Insert base to trigger base list collapse. */
- t->insert (5, 6, a, false);
+ t->insert (5, 0, a, false);
ASSERT_TRUE (t->every_base);
ASSERT_EQ (t->bases, NULL);
ASSERT_EQ (t->search (1), NULL);