mirror of git://gcc.gnu.org/git/gcc.git
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
|
|
@ -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>
|
2016-10-19 Bin Cheng <bin.cheng@arm.com>
|
||||||
|
|
||||||
PR tree-optimization/78005
|
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)))
|
&& !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
|
||||||
|
|
@ -3115,7 +3111,7 @@ insert_initializers (slsr_cand_t c)
|
||||||
if (!profitable_increment_p (i)
|
if (!profitable_increment_p (i)
|
||||||
|| incr == 1
|
|| incr == 1
|
||||||
|| (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)
|
|| incr == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue