This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC][IPA-VRP] Add support for IPA VRP in ipa-cp/ipa-prop
- From: Prathamesh Kulkarni <prathamesh dot kulkarni at linaro dot org>
- To: kugan <kugan dot vivekanandarajah at linaro dot org>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Richard Biener <richard dot guenther at gmail dot com>, Jan Hubicka <hubicka at ucw dot cz>, Martin Jambor <mjambor at suse dot cz>
- Date: Sun, 17 Jul 2016 14:24:29 +0100
- Subject: Re: [RFC][IPA-VRP] Add support for IPA VRP in ipa-cp/ipa-prop
- Authentication-results: sourceware.org; auth=none
- References: <57886949.8010300@linaro.org> <57886A2A.4070703@linaro.org> <57886ABA.2060404@linaro.org>
On 15 July 2016 at 05:46, kugan <kugan.vivekanandarajah@linaro.org> wrote:
> Hi,
>
>
>
> This patch extends ipa-cp/ipa-prop infrastructure to handle propagation of
> VR.
Hi Kugan,
Just a small nit - perhaps you should modify
ipa_print_node_jump_functions_for_edge () to pretty-print
value ranges associated with the jump function.
Thanks,
Prathamesh
>
>
>
> Thanks,
>
> Kugan
>
>
>
>
>
> gcc/testsuite/ChangeLog:
>
>
>
> 2016-07-14 Kugan Vivekanandarajah <kuganv@linaro.org>
>
>
>
> * gcc.dg/ipa/vrp1.c: New test.
>
> * gcc.dg/ipa/vrp2.c: New test.
>
> * gcc.dg/ipa/vrp3.c: New test.
>
>
>
>
>
> gcc/ChangeLog:
>
>
>
> 2016-07-14 Kugan Vivekanandarajah <kuganv@linaro.org>
>
>
>
> * common.opt: New option -fipa-vrp.
>
> * ipa-cp.c (ipa_get_vr_lat): New.
>
> (ipcp_vr_lattice::print): Likewise.
>
> (print_all_lattices): Call ipcp_vr_lattice::print.
>
> (ipcp_vr_lattice::meet_with): New.
>
> (ipcp_vr_lattice::meet_with_1): Likewise.
>
> (ipcp_vr_lattice::top_p): Likewise.
>
> (ipcp_vr_lattice::bottom_p): Likewsie.
>
> (ipcp_vr_lattice::set_to_bottom): Likewise.
>
> (set_all_contains_variable): Call VR set_to_bottom.
>
> (initialize_node_lattices): Init VR lattices.
>
> (propagate_vr_accross_jump_function): New.
>
> (propagate_constants_accross_call): Call
>
> propagate_vr_accross_jump_function.
>
> (ipcp_store_alignment_results): Rename to
>
> ipcp_store_alignment_and_vr_results and handke VR.
>
> * ipa-prop.c (ipa_set_jf_unknown):
>
> (ipa_compute_jump_functions_for_edge): Handle Value Range.
>
> (ipa_node_params_t::duplicate): Likewise.
>
> (ipa_write_jump_function): Likewise.
>
> (ipa_read_jump_function): Likewise.
>
> (write_ipcp_transformation_info): Likewise.
>
> (read_ipcp_transformation_info): Likewise.
>
> (ipcp_update_alignments): Rename to ipcp_update_vr_and_alignments
>
> and handle VR.
>
>
>
>
>