Commit 2d4035dc by Bill Schmidt Committed by William Schmidt

re PR tree-optimization/77937 (ICE: in replace_one_candidate, at…

re PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength-reduction.c:3370)

2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/77937
	* gimple-ssa-strength-reduction.c (analyze_increments): Set cost
	to infinite when we have a pointer with an increment of -1.

From-SVN: r241125
parent 58f7dab4
2016-10-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/77937
* gimple-ssa-strength-reduction.c (analyze_increments): Set cost
to infinite when we have a pointer with an increment of -1.
2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com> 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
* coretypes.h: Move MEMMODEL_* macros and enum memmodel definition * coretypes.h: Move MEMMODEL_* macros and enum memmodel definition
......
...@@ -2818,6 +2818,11 @@ analyze_increments (slsr_cand_t first_dep, machine_mode mode, bool speed) ...@@ -2818,6 +2818,11 @@ analyze_increments (slsr_cand_t first_dep, machine_mode mode, bool speed)
|| (incr == -1 || (incr == -1
&& !POINTER_TYPE_P (first_dep->cand_type))) && !POINTER_TYPE_P (first_dep->cand_type)))
incr_vec[i].cost = COST_NEUTRAL; incr_vec[i].cost = COST_NEUTRAL;
/* FIXME: We don't handle pointers with a -1 increment yet.
They are usually unprofitable anyway. */
else if (incr == -1 && POINTER_TYPE_P (first_dep->cand_type))
incr_vec[i].cost = COST_INFINITE;
/* FORNOW: If we need to add an initializer, give up if a cast from /* FORNOW: If we need to add an initializer, give up if a cast from
the candidate's type to its stride's type can lose precision. the candidate's type to its stride's type can lose precision.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment