diff options
author | marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-02-26 20:21:38 +0000 |
---|---|---|
committer | marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-02-26 20:21:38 +0000 |
commit | 0e62482df4041f14ebbc2ab5b0277e6c07aab47e (patch) | |
tree | 31bd542ab4137d5e5826c62a637c3f0f03c24b46 /gcc/ipa-ref.h | |
parent | 7627f8373b15ddc93edac699750f0d3061960038 (diff) | |
download | gcc-0e62482df4041f14ebbc2ab5b0277e6c07aab47e.tar.gz |
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
Diffstat (limited to 'gcc/ipa-ref.h')
-rw-r--r-- | gcc/ipa-ref.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ipa-ref.h b/gcc/ipa-ref.h index aea7f4c8b1f..38df8c98b5e 100644 --- a/gcc/ipa-ref.h +++ b/gcc/ipa-ref.h @@ -47,6 +47,9 @@ public: function. */ bool cannot_lead_to_return (); + /* Return true if refernece may be used in address compare. */ + bool address_matters_p (); + /* Return reference list this reference is in. */ struct ipa_ref_list * referring_ref_list (void); |