re PR tree-optimization/77916 (ICE in verify_gimple_in_cfg: invalid (pointer) operands to plus/minus)
2016-10-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/77916 PR tree-optimization/77937 * gimple-ssa-strength-reduction.c (analyze_increments): Remove stopgap fix. (insert_initializers): Requirement of initializer for -1 should be based on pointer-typedness of the candidate basis. From-SVN: r241342
This commit is contained in:
parent
a04df2babb
commit
6e3d8cb41d
2 changed files with 10 additions and 5 deletions
|
@ -1,3 +1,12 @@
|
|||
2016-10-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||||
|
||||
PR tree-optimization/77916
|
||||
PR tree-optimization/77937
|
||||
* gimple-ssa-strength-reduction.c (analyze_increments): Remove
|
||||
stopgap fix.
|
||||
(insert_initializers): Requirement of initializer for -1 should be
|
||||
based on pointer-typedness of the candidate basis.
|
||||
|
||||
2016-10-19 Bin Cheng <bin.cheng@arm.com>
|
||||
|
||||
PR tree-optimization/78005
|
||||
|
|
|
@ -2825,10 +2825,6 @@ analyze_increments (slsr_cand_t first_dep, machine_mode mode, bool speed)
|
|||
&& !POINTER_TYPE_P (first_dep->cand_type)))
|
||||
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
|
||||
the candidate's type to its stride's type can lose precision.
|
||||
This could eventually be handled better by expressly retaining the
|
||||
|
@ -3115,7 +3111,7 @@ insert_initializers (slsr_cand_t c)
|
|||
if (!profitable_increment_p (i)
|
||||
|| incr == 1
|
||||
|| (incr == -1
|
||||
&& gimple_assign_rhs_code (c->cand_stmt) != POINTER_PLUS_EXPR)
|
||||
&& (!POINTER_TYPE_P (lookup_cand (c->basis)->cand_type)))
|
||||
|| incr == 0)
|
||||
continue;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue