Fix PR ipa/64693
commit0e62482df4041f14ebbc2ab5b0277e6c07aab47e
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Feb 2015 20:21:38 +0000 (26 20:21 +0000)
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Feb 2015 20:21:38 +0000 (26 20:21 +0000)
tree31bd542ab4137d5e5826c62a637c3f0f03c24b46
parent7627f8373b15ddc93edac699750f0d3061960038
Fix PR ipa/64693

PR ipa/64693
* ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
(sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
(sem_item_optimizer::process_cong_reduction): Include division by
sensitive references.
* ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
* ipa-ref.c (ipa_ref::address_matters_p): New function.
* ipa-ref.h (ipa_ref::address_matters_p): Likewise.
* g++.dg/ipa/pr64146.C: Update expected results.
* gcc.dg/ipa/ipa-icf-26.c: Update test.
* gcc.dg/ipa/ipa-icf-33.c: Remove redundant line.
* gcc.dg/ipa/ipa-icf-34.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221031 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ipa-icf.c
gcc/ipa-icf.h
gcc/ipa-ref.c
gcc/ipa-ref.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ipa/pr64146.C
gcc/testsuite/gcc.dg/ipa/ipa-icf-26.c
gcc/testsuite/gcc.dg/ipa/ipa-icf-33.c