summaryrefslogtreecommitdiff
path: root/gcc/ipa-ref.h
diff options
context:
space:
mode:
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>2015-02-26 20:21:38 +0000
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>2015-02-26 20:21:38 +0000
commit0e62482df4041f14ebbc2ab5b0277e6c07aab47e (patch)
tree31bd542ab4137d5e5826c62a637c3f0f03c24b46 /gcc/ipa-ref.h
parent7627f8373b15ddc93edac699750f0d3061960038 (diff)
downloadgcc-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.h3
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);