tree-ssa-loop-ivopts.c (get_computation_cost_at): Remove pseudo iv_cand code.

* tree-ssa-loop-ivopts.c (get_computation_cost_at): Remove pseudo
	iv_cand code.
	(determine_group_iv_cost_cond, determine_iv_cost): Ditto.
	(iv_ca_set_no_cp, create_new_iv): Ditto.

From-SVN: r247510
This commit is contained in:
Bin Cheng 2017-05-02 16:03:49 +00:00 committed by Bin Cheng
parent 5368589615
commit c166202824
2 changed files with 11 additions and 19 deletions

View File

@ -1,3 +1,10 @@
2017-05-02 Bin Cheng <bin.cheng@arm.com>
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Remove pseudo
iv_cand code.
(determine_group_iv_cost_cond, determine_iv_cost): Ditto.
(iv_ca_set_no_cp, create_new_iv): Ditto.
2017-05-02 Bin Cheng <bin.cheng@arm.com>
* rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.

View File

@ -4845,10 +4845,6 @@ get_computation_cost_at (struct ivopts_data *data,
if (depends_on)
*depends_on = NULL;
/* Only consider real candidates. */
if (!cand->iv)
return infinite_cost;
cbase = cand->iv->base;
cstep = cand->iv->step;
ctype = TREE_TYPE (cbase);
@ -5568,8 +5564,6 @@ determine_group_iv_cost_cond (struct ivopts_data *data,
enum tree_code comp = ERROR_MARK;
struct iv_use *use = group->vuses[0];
gcc_assert (cand->iv);
/* Try iv elimination. */
if (may_eliminate_iv (data, use, cand, &bound, &comp))
{
@ -5898,11 +5892,7 @@ determine_iv_cost (struct ivopts_data *data, struct iv_cand *cand)
unsigned cost, cost_step;
tree base;
if (!cand->iv)
{
cand->cost = 0;
return;
}
gcc_assert (cand->iv != NULL);
/* There are two costs associated with the candidate -- its increment
and its initialization. The second is almost negligible for any loop
@ -6123,9 +6113,7 @@ iv_ca_set_no_cp (struct ivopts_data *data, struct iv_ca *ivs,
if (ivs->n_cand_uses[cid] == 0)
{
bitmap_clear_bit (ivs->cands, cid);
/* Do not count the pseudocandidates. */
if (cp->cand->iv)
ivs->n_regs--;
ivs->n_regs--;
ivs->n_cands--;
ivs->cand_cost -= cp->cand->cost;
@ -6189,9 +6177,7 @@ iv_ca_set_cp (struct ivopts_data *data, struct iv_ca *ivs,
if (ivs->n_cand_uses[cid] == 1)
{
bitmap_set_bit (ivs->cands, cid);
/* Do not count the pseudocandidates. */
if (cp->cand->iv)
ivs->n_regs++;
ivs->n_regs++;
ivs->n_cands++;
ivs->cand_cost += cp->cand->cost;
@ -7076,8 +7062,7 @@ create_new_iv (struct ivopts_data *data, struct iv_cand *cand)
struct iv_group *group;
bool after = false;
if (!cand->iv)
return;
gcc_assert (cand->iv != NULL);
switch (cand->pos)
{