aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-range.h
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2023-05-17 11:29:32 +0200
committerAldy Hernandez <aldyh@redhat.com>2023-05-24 18:03:26 +0200
commitcfe1752817731b8d71d90eeb461d7b7ba9fcb809 (patch)
tree463f266bf0e0834c4dadbe1c4dfe3c6b3cc95564 /gcc/value-range.h
parentfc0553d61e110a293d52405672cfe9919d7ecc12 (diff)
downloadgcc-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