]> git.ipfire.org Git - thirdparty/gcc.git/commit
Add IPA VRP
authorkugan <kugan@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Sep 2016 23:29:05 +0000 (23:29 +0000)
committerkugan <kugan@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Sep 2016 23:29:05 +0000 (23:29 +0000)
commit25a8e0079a0fbc6d1c2958664d819313edc64ed4
tree71da5cb07e19989dcd3b452b5350042041af16d7
parent6e93da1b453a9f4d865982caf9888470a2d3a63c
Add IPA VRP

gcc/lto/ChangeLog:
2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>

* lto-partition.c: Include tree-vrp.h.
* lto.c: Likewise.

gcc/testsuite/ChangeLog:

2016-09-21  Kugan Vivekanandarajah  <kuganv@linaro.org>

* g++.dg/ipa/pure-const-3.C: Add -fno-ipa-vrp. Else constant arguments
will be optimized away.
* gcc.dg/ipa/vrp1.c: New test.
* gcc.dg/ipa/vrp2.c: New test.
* gcc.dg/ipa/vrp3.c: New test.

gcc/ChangeLog:

2016-09-21  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_vr_results): New.
(ipcp_driver): Handle VR.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Handle VR.
(ipa_set_jf_unknown): Likewise.
(ipa_compute_jump_functions_for_edge): Likewise.
(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_vr): New.
(ipcp_transform_function): Handle VR.
* ipa-prop.h (struct ipa_vr): New.
* cgraph.c: Include tree-vrp.h.
* cgraphunit.c: Likewise.
* ipa-utils.c: Likewise.
* ipa.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240292 138bc75d-0d04-0410-961f-82ee72b054a4
23 files changed:
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraphunit.c
gcc/common.opt
gcc/ipa-cp.c
gcc/ipa-devirt.c
gcc/ipa-inline-transform.c
gcc/ipa-inline.c
gcc/ipa-profile.c
gcc/ipa-prop.c
gcc/ipa-prop.h
gcc/ipa-utils.c
gcc/ipa.c
gcc/lto/ChangeLog
gcc/lto/lto-partition.c
gcc/lto/lto.c
gcc/opts.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ipa/pure-const-3.C
gcc/testsuite/gcc.dg/ipa/vrp1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/ipa/vrp2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/ipa/vrp3.c [new file with mode: 0644]
gcc/toplev.c