On 15 July 2016 at 05:46, kugan <kugan.vivekanandara...@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 <kug...@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 <kug...@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. > > > > >