tree-ssa-operands.c (swap_tree_operands): Export.
* tree-ssa-operands.c (swap_tree_operands): Export. * tree.h (swap_tree_operands): Declare. * tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED. Call swap_tree_operands. From-SVN: r104421
This commit is contained in:
parent
99c09897c2
commit
3c7d0735f5
@ -1,3 +1,10 @@
|
||||
2005-09-19 Dorit Nuzman <dorit@il.ibm.com>
|
||||
|
||||
* tree-ssa-operands.c (swap_tree_operands): Export.
|
||||
* tree.h (swap_tree_operands): Declare.
|
||||
* tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
|
||||
Call swap_tree_operands.
|
||||
|
||||
2005-09-19 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* tree-flow.h (merge_alias_info): Declare.
|
||||
|
@ -1165,7 +1165,7 @@ create_ssa_artficial_load_stmt (tree new_stmt, tree old_stmt)
|
||||
delink_imm_use (use_p);
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
swap_tree_operands (tree stmt, tree *exp0, tree *exp1)
|
||||
{
|
||||
tree op0, op1;
|
||||
|
@ -1787,8 +1787,7 @@ reduction_code_for_scalar_code (enum tree_code code,
|
||||
Conditions 2,3 are tested in vect_mark_stmts_to_be_vectorized. */
|
||||
|
||||
tree
|
||||
vect_is_simple_reduction (struct loop *loop ATTRIBUTE_UNUSED,
|
||||
tree phi ATTRIBUTE_UNUSED)
|
||||
vect_is_simple_reduction (struct loop *loop, tree phi)
|
||||
{
|
||||
edge latch_e = loop_latch_edge (loop);
|
||||
tree loop_arg = PHI_ARG_DEF_FROM_EDGE (phi, latch_e);
|
||||
@ -1930,9 +1929,6 @@ vect_is_simple_reduction (struct loop *loop ATTRIBUTE_UNUSED,
|
||||
&& flow_bb_inside_loop_p (loop, bb_for_stmt (def2))
|
||||
&& def1 == phi)
|
||||
{
|
||||
use_operand_p use;
|
||||
ssa_op_iter iter;
|
||||
|
||||
/* Swap operands (just for simplicity - so that the rest of the code
|
||||
can assume that the reduction variable is always the last (second)
|
||||
argument). */
|
||||
@ -1941,16 +1937,8 @@ vect_is_simple_reduction (struct loop *loop ATTRIBUTE_UNUSED,
|
||||
fprintf (vect_dump, "detected reduction: need to swap operands:");
|
||||
print_generic_expr (vect_dump, operation, TDF_SLIM);
|
||||
}
|
||||
|
||||
/* CHECKME */
|
||||
FOR_EACH_SSA_USE_OPERAND (use, def_stmt, iter, SSA_OP_USE)
|
||||
{
|
||||
tree tuse = USE_FROM_PTR (use);
|
||||
if (tuse == op1)
|
||||
SET_USE (use, op2);
|
||||
else if (tuse == op2)
|
||||
SET_USE (use, op1);
|
||||
}
|
||||
swap_tree_operands (def_stmt, &TREE_OPERAND (operation, 0),
|
||||
&TREE_OPERAND (operation, 1));
|
||||
return def_stmt;
|
||||
}
|
||||
else
|
||||
|
@ -3857,6 +3857,7 @@ extern tree constant_boolean_node (int, tree);
|
||||
extern tree build_low_bits_mask (tree, unsigned);
|
||||
|
||||
extern bool tree_swap_operands_p (tree, tree, bool);
|
||||
extern void swap_tree_operands (tree, tree *, tree *);
|
||||
extern enum tree_code swap_tree_comparison (enum tree_code);
|
||||
|
||||
extern bool ptr_difference_const (tree, tree, HOST_WIDE_INT *);
|
||||
|
Loading…
Reference in New Issue
Block a user