aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-icf.h
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2015-03-01 21:23:21 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-03-01 20:23:21 +0000
commitb6cddc7fb673b0712f03dfb3b7c1f7df81a139c6 (patch)
treefe24d2aee9562db1a7e4fe3b11e9626f5700ae13 /gcc/ipa-icf.h
parentf0e677d2e0e9252bd9cb32f3f606ebc7612217ba (diff)
downloadgcc-b6cddc7fb673b0712f03dfb3b7c1f7df81a139c6.zip
gcc-b6cddc7fb673b0712f03dfb3b7c1f7df81a139c6.tar.gz
gcc-b6cddc7fb673b0712f03dfb3b7c1f7df81a139c6.tar.bz2
re PR ipa/65245 (internal compiler error: in address_matters_p, at symtab.c:1908)
2015-02-28 Martin Liska <mliska@suse.cz> Jan Hubicka <hubicka@ucw.cz> PR ipa/65245 * ipa-icf-gimple.c (func_checker::compare_function_decl): Remove. (func_checker::compare_variable_decl): Skip symtab vars. (func_checker::compare_cst_or_decl): Update. * ipa-icf.c (sem_function::parse): Do not consider aliases. (sem_function::compare_cgraph_references): Add ADDRESS parameter; use correct symtab predicates. (sem_function::equals_wpa): Update uses of compare_cgraph_references. (sem_variable::parse): Update comment. (sem_item_optimizer::build_graph): Consider ultimate aliases for references. * gcc.dg/ipa/ipa-icf-34.c: New test. Co-Authored-By: Jan Hubicka <hubicka@ucw.cz> From-SVN: r221090
Diffstat (limited to 'gcc/ipa-icf.h')
-rw-r--r--gcc/ipa-icf.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/ipa-icf.h b/gcc/ipa-icf.h
index 077267c..bf01cf0 100644
--- a/gcc/ipa-icf.h
+++ b/gcc/ipa-icf.h
@@ -353,10 +353,11 @@ private:
/* For a given symbol table nodes N1 and N2, we check that FUNCTION_DECLs
point to a same function. Comparison can be skipped if IGNORED_NODES
- contains these nodes. */
+ contains these nodes. ADDRESS indicate if address is taken. */
bool compare_cgraph_references (hash_map <symtab_node *, sem_item *>
&ignored_nodes,
- symtab_node *n1, symtab_node *n2);
+ symtab_node *n1, symtab_node *n2,
+ bool address);
/* Processes function equality comparison. */
bool equals_private (sem_item *item,