On Thu, May 07, 2020 at 02:45:29PM +0200, Thomas Schwinge wrote:
> >>+ for (tree op = win; TREE_CODE (op) == COMPOUND_EXPR;
>
> ..., and new 'op' variable here.
>
> >>+ op = TREE_OPERAND (op, 1))
> >>+ v.safe_push (op);
> >>+ FOR_EACH_VEC_ELT_REVERSE (v, i, op)
> >>+ ret = build2_loc (EXPR_LOCATION (op), COMPOUND_EXPR,
> >>+ TREE_TYPE (win), TREE_OPERAND (op, 0),
> >>+ ret);
> >>+ return ret;
> >> }
> >> while (TREE_CODE (op) == NOP_EXPR)
> >> {
There is no reason for the shadowing and op at this point acts as a
temporary and will be overwritten in FOR_EACH_VEC_ELT_REVERSE anyway.
So, we can just s/tree // here.
2020-05-08 Jakub Jelinek <jakub@redhat.com>
PR middle-end/94724
* tree.c (get_narrower): Reuse the op temporary instead of
shadowing it.
2020-05-08 Jakub Jelinek <jakub@redhat.com>
+ PR middle-end/94724
+ * tree.c (get_narrower): Reuse the op temporary instead of
+ shadowing it.
+
PR tree-optimization/94783
* match.pd ((X + (X >> (prec - 1))) ^ (X >> (prec - 1)) to abs (X)):
New simplification.
return win;
auto_vec <tree, 16> v;
unsigned int i;
- for (tree op = win; TREE_CODE (op) == COMPOUND_EXPR;
+ for (op = win; TREE_CODE (op) == COMPOUND_EXPR;
op = TREE_OPERAND (op, 1))
v.safe_push (op);
FOR_EACH_VEC_ELT_REVERSE (v, i, op)