gcc:
authorwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 May 2013 18:56:39 +0000 (18:56 +0000)
committerwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 May 2013 18:56:39 +0000 (18:56 +0000)
commit1168cacab952b51a4e218f624eccb69eaf32f8c7
tree216cd578306ce4a9506775df9c2d5dcfa548452c
parent44f9bcdfef23552aaa2af8f5a5a0cd754fc61dd8
gcc:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.
(slsr_cand_d): Redefine def_phi.
(stride_status, phi_adjust_status, count_phis_status): New enums.
(find_phi_def): New.
(find_basis_for_base_expr): New.
(find_basis_for_candidate): Handle hidden bases.
(alloc_cand_and_find_basis): Handle phi candidates.
(slsr_process_phi): New.
(create_mul_ssa_cand): Exclude phi base candidates; use integer_onep.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Exclude phi base candidates.
(create_add_imm_cand): Likewise.
(slsr_process_cast): Likewise.
(slsr_process_copy): Likewise.
(find_candidates_in_block): Handle phi candidates.
(dump_candidate): Likewise.
(unconditional_cands): Delete.
(unconditional_cands_with_known_stride_p): Delete.
(phi_dependent_cand_p): New.
(cand_increment): Handle phi-dependent candidates.
(replace_dependent): Delete.
(replace_mult_candidate): New.
(replace_unconditional_candidate): New.
(incr_vec_index): Move to avoid forward reference.
(create_add_on_incoming_edge): New.
(create_phi_basis): New.
(replace_dependents): Delete.
(replace_conditional_candidate): New.
(phi_add_costs): New.
(replace_uncond_cands_and_profitable_phis): New.
(record_increment): Handle phi adjustments.
(record_phi_increments): New.
(record_increments): Handle phi adjustments.
(phi_incr_cost): New.
(lowest_cost_path): Handle phis.
(total_savings): Likewise.
(analyze_increments): Likewise.
(ncd_with_phi): New.
(ncd_of_cand_and_phis): New.
(nearest_common_dominator_for_cands): Handle phi increments.
(all_phi_incrs_profitable): New.
(replace_profitable_candidates): Handle phi-dependent candidates.
(analyze_candidates_and_replace): Likewise.

gcc/testsuite:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-32.c: New.
* gcc.dg/tree-ssa/slsr-33.c: New.
* gcc.dg/tree-ssa/slsr-34.c: New.
* gcc.dg/tree-ssa/slsr-35.c: New.
* gcc.dg/tree-ssa/slsr-36.c: New.
* gcc.dg/tree-ssa/slsr-37.c: New.
* gcc.dg/tree-ssa/slsr-38.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198586 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimple-ssa-strength-reduction.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/slsr-32.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/slsr-33.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/slsr-34.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/slsr-35.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/slsr-36.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/slsr-37.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/slsr-38.c [new file with mode: 0644]