diff options
author | James Greenhalgh <james.greenhalgh@arm.com> | 2016-07-21 15:40:24 +0000 |
---|---|---|
committer | James Greenhalgh <jgreenhalgh@gcc.gnu.org> | 2016-07-21 15:40:24 +0000 |
commit | ebe8f3226c94173073958da74e9acb4e444e4097 (patch) | |
tree | 94d49a3e300111ba52839793deb9962c71231c92 /gcc/tree-inline.c | |
parent | e914c11a99833c265aef1256fdd113129d4b8a0d (diff) | |
download | gcc-ebe8f3226c94173073958da74e9acb4e444e4097.zip gcc-ebe8f3226c94173073958da74e9acb4e444e4097.tar.gz gcc-ebe8f3226c94173073958da74e9acb4e444e4097.tar.bz2 |
[Patch 2/2 ifcvt costs] Introduce a new cost model for ifcvt.
gcc/
* ifcvt.c (noce_if_info): New fields: speed_p, original_cost,
max_seq_cost. Removed fields: then_cost, else_cost, branch_cost.
(noce_conversion_profitable_p): New.
(noce_try_store_flag_constants): Use it.
(noce_try_addcc): Likewise.
(noce_try_store_flag_mask): Likewise.
(noce_try_cmove): Likewise.
(noce_try_cmove_arith): Likewise.
(bb_valid_for_noce_process_p): Add to the cost parameter rather than
overwriting it.
(noce_convert_multiple_sets): Move cost model to here, from...
(bb_ok_for_noce_convert_multiple_sets) ...here.
(noce_process_if_block): Update calls for above changes.
(noce_find_if_block): Record new noce_if_info parameters.
gcc/testsuite/
* gcc.dg/ifcvt-2.c: Use parameter to guide if-conversion heuristics.
* gcc.dg/ifcvt-3.c: Use parameter to guide if-conversion heuristics.
* gcc.dg/pr68435.c: Use parameter to guide if-conversion heuristics.
* gcc.dg/ifcvt-4.c: Use parameter to guide if-conversion heuristics.
* gcc.dg/ifcvt-5.c: Use parameter to guide if-conversion heuristics.
From-SVN: r238594
Diffstat (limited to 'gcc/tree-inline.c')
0 files changed, 0 insertions, 0 deletions