re PR tree-optimization/77916 (ICE in verify_gimple_in_cfg: invalid (pointer) operands to plus/minus)

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

	PR tree-optimization/77916
	* gimple-ssa-strength-reduction.c (analyze_increments): Reinstate
	stopgap fix, as pointers with -1 increment are still broken.

From-SVN: r241305
This commit is contained in:
Bill Schmidt 2016-10-18 13:35:19 +00:00 committed by William Schmidt
parent 421a8ed412
commit c502602151
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2016-10-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/77916
* gimple-ssa-strength-reduction.c (analyze_increments): Reinstate
stopgap fix, as pointers with -1 increment are still broken.
2016-10-18 David Edelsohn <dje.gcc@gmail.com> 2016-10-18 David Edelsohn <dje.gcc@gmail.com>
* config/rs6000/rs6000.c (rs6000_output_symbol_ref): Move storage * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Move storage

View File

@ -2825,6 +2825,10 @@ analyze_increments (slsr_cand_t first_dep, machine_mode mode, bool speed)
&& !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: Still having trouble with pointers with a -1 increment. */
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.
This could eventually be handled better by expressly retaining the This could eventually be handled better by expressly retaining the