aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-prop.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2019-11-03 17:37:45 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2019-11-03 16:37:45 +0000
commitac6f2e594886e2209446114023ecdff96b0bd7c4 (patch)
tree08ad05645f41cd3331fef1728530f56b00673203 /gcc/ipa-prop.c
parent360386c7ef1c3fa30de216b1d68ed6a27296fd80 (diff)
downloadgcc-ac6f2e594886e2209446114023ecdff96b0bd7c4.zip
gcc-ac6f2e594886e2209446114023ecdff96b0bd7c4.tar.gz
gcc-ac6f2e594886e2209446114023ecdff96b0bd7c4.tar.bz2
ipa-fnsummary.c (ipa_call_context::duplicate_from): New member function.
* ipa-fnsummary.c (ipa_call_context::duplicate_from): New member function. (ipa_call_context::release): Add ALL parameter. (ipa_call_context::equal_to): New member function. * ipa-fnsummary.h (ipa_call_context): Add empty constructor; duplicate_form, release, equal_to and exists_p member functoins. * ipa-inline-analysis.c (node_context_cache_entry): New class. (node_context_summary): Likewise. (node_context_cache, node_context_cache_hit, node_context_cache_miss, node_context_clear): New static vars. (initialize_growth_caches): New function. (free_growth_caches): Also delete node_context_cache; output stats. (do_estimate_edge_time): Cache contexts. (reset_node_cache): New function. * ipa-inline.c (reset_edge_caches): Reset also node cache. (inline_small_functions): Initialize growth caches. * ipa-inline.h (reset_node_cache, initialize_growth_caches): Declare. * ipa-predicate.h (inline_param_summary::equal_to): New. * ipa-prop.c (ipa_agg_jf_item::equal_to): New. * ipa-prop.h (ipa_agg_jf_item): Declare equal_to member function. (ipa_agg_jump_function): Implement equal_to member function. From-SVN: r277757
Diffstat (limited to 'gcc/ipa-prop.c')
-rw-r--r--gcc/ipa-prop.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index e20467a..5491aee 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -5293,4 +5293,12 @@ ipcp_transform_function (struct cgraph_node *node)
return TODO_update_ssa_only_virtuals;
}
+
+/* Return true if OTHER describes same agg item. */
+bool
+ipa_agg_jf_item::equal_to (const ipa_agg_jf_item &other)
+{
+ return offset == other.offset
+ && operand_equal_p (value, other.value, 0);
+}
#include "gt-ipa-prop.h"