diff options
author | Kugan Vivekanandarajah <kuganv@linaro.org> | 2016-09-20 23:29:05 +0000 |
---|---|---|
committer | Kugan Vivekanandarajah <kugan@gcc.gnu.org> | 2016-09-20 23:29:05 +0000 |
commit | 8bc5448f39ccd26b6f06cd7120f09c2254bac3be (patch) | |
tree | 71da5cb07e19989dcd3b452b5350042041af16d7 /gcc/common.opt | |
parent | 973625a04b3d9351f2485e37f7d3382af2aed87e (diff) | |
download | gcc-8bc5448f39ccd26b6f06cd7120f09c2254bac3be.zip gcc-8bc5448f39ccd26b6f06cd7120f09c2254bac3be.tar.gz gcc-8bc5448f39ccd26b6f06cd7120f09c2254bac3be.tar.bz2 |
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.
From-SVN: r240292
Diffstat (limited to 'gcc/common.opt')
-rw-r--r-- | gcc/common.opt | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/common.opt b/gcc/common.opt index fa1c036..8c0885c 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -1605,6 +1605,10 @@ fipa-struct-reorg Common Ignore Does nothing. Preserved for backward compatibility. +fipa-vrp +Common Report Var(flag_ipa_vrp) Optimization +Perform IPA Value Range Propagation. + fira-algorithm= Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB) Optimization -fira-algorithm=[CB|priority] Set the used IRA algorithm. |