diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2023-05-17 11:29:32 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2023-05-24 18:03:26 +0200 |
commit | cfe1752817731b8d71d90eeb461d7b7ba9fcb809 (patch) | |
tree | 463f266bf0e0834c4dadbe1c4dfe3c6b3cc95564 /gcc/value-range.h | |
parent | fc0553d61e110a293d52405672cfe9919d7ecc12 (diff) | |
download | gcc-cfe1752817731b8d71d90eeb461d7b7ba9fcb809.zip gcc-cfe1752817731b8d71d90eeb461d7b7ba9fcb809.tar.gz gcc-cfe1752817731b8d71d90eeb461d7b7ba9fcb809.tar.bz2 |
Provide an API for ipa_vr.
This patch encapsulates the ipa_vr internals into an API. It also
makes it type agnostic, in preparation for upcoming changes to IPA.
Interestingly, there's a 0.44% improvement to IPA-cp, which I'm sure
we'll soak up with future changes in this area :).
gcc/ChangeLog:
* ipa-cp.cc (ipa_value_range_from_jfunc): Use new ipa_vr API.
(ipcp_store_vr_results): Same.
* ipa-prop.cc (ipa_vr::ipa_vr): New.
(ipa_vr::get_vrange): New.
(ipa_vr::set_unknown): New.
(ipa_vr::streamer_read): New.
(ipa_vr::streamer_write): New.
(write_ipcp_transformation_info): Use new ipa_vr API.
(read_ipcp_transformation_info): Same.
(ipa_vr::nonzero_p): Delete.
(ipcp_update_vr): Use new ipa_vr API.
* ipa-prop.h (class ipa_vr): Provide an API and hide internals.
* ipa-sra.cc (zap_useless_ipcp_results): Use new ipa_vr API.
gcc/testsuite/ChangeLog:
* gcc.dg/ipa/pr78121.c: Adjust for vrange::dump use.
* gcc.dg/ipa/vrp1.c: Same.
* gcc.dg/ipa/vrp2.c: Same.
* gcc.dg/ipa/vrp3.c: Same.
* gcc.dg/ipa/vrp4.c: Same.
* gcc.dg/ipa/vrp5.c: Same.
* gcc.dg/ipa/vrp6.c: Same.
* gcc.dg/ipa/vrp7.c: Same.
* gcc.dg/ipa/vrp8.c: Same.
Diffstat (limited to 'gcc/value-range.h')
0 files changed, 0 insertions, 0 deletions