tree-if-conv.c (if_convertable_phi_p): Rename to ...

* tree-if-conv.c (if_convertable_phi_p): Rename to ...
        (if_convertible_phi_p): ... new name.
        (if_convertable_modify_expr_p): Rename to ...
        (if_convertible_modify_expr_p): ... new name.
        (if_convertable_stmt_p): Rename to ...
        (if_convertible_stmt_p): ... new name.
        (if_convertable_bb_p): Rename to ...
        (if_convertible_bb_p): ... new name.
        (if_convertable_loop_p): Rename to ...
        (if_convertible_loop_p): ... new name.

From-SVN: r91044
This commit is contained in:
Devang Patel 2004-11-22 14:57:58 -08:00 committed by Devang Patel
parent c33a9f06b2
commit e0ddb4bd65
2 changed files with 42 additions and 29 deletions

View File

@ -1,3 +1,16 @@
2004-11-16 Devang Patel <dpatel@apple.com>
* tree-if-conv.c (if_convertable_phi_p): Rename to ...
(if_convertible_phi_p): ... new name.
(if_convertable_modify_expr_p): Rename to ...
(if_convertible_modify_expr_p): ... new name.
(if_convertable_stmt_p): Rename to ...
(if_convertible_stmt_p): ... new name.
(if_convertable_bb_p): Rename to ...
(if_convertible_bb_p): ... new name.
(if_convertable_loop_p): Rename to ...
(if_convertible_loop_p): ... new name.
2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
PR target/18444

View File

@ -24,7 +24,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
A short description of if-conversion:
o Decide if a loop is if-convertable or not.
o Decide if a loop is if-convertible or not.
o Walk all loop basic blocks in breadth first order (BFS order).
o Remove conditional statements (at the end of basic block)
and propagate condition into destination basic blocks'
@ -108,11 +108,11 @@ static tree tree_if_convert_stmt (struct loop *loop, tree, tree,
block_stmt_iterator *);
static void tree_if_convert_cond_expr (struct loop *, tree, tree,
block_stmt_iterator *);
static bool if_convertable_phi_p (struct loop *, basic_block, tree);
static bool if_convertable_modify_expr_p (struct loop *, basic_block, tree);
static bool if_convertable_stmt_p (struct loop *, basic_block, tree);
static bool if_convertable_bb_p (struct loop *, basic_block, bool);
static bool if_convertable_loop_p (struct loop *, bool);
static bool if_convertible_phi_p (struct loop *, basic_block, tree);
static bool if_convertible_modify_expr_p (struct loop *, basic_block, tree);
static bool if_convertible_stmt_p (struct loop *, basic_block, tree);
static bool if_convertible_bb_p (struct loop *, basic_block, bool);
static bool if_convertible_loop_p (struct loop *, bool);
static void add_to_predicate_list (basic_block, tree);
static tree add_to_dst_predicate_list (struct loop * loop, basic_block, tree, tree,
block_stmt_iterator *);
@ -149,8 +149,8 @@ tree_if_conversion (struct loop *loop, bool for_vectorizer)
ifc_bbs = NULL;
/* if-conversion is not appropriate for all loops. First, check if loop is
if-convertable or not. */
if (!if_convertable_loop_p (loop, for_vectorizer))
if-convertible or not. */
if (!if_convertible_loop_p (loop, for_vectorizer))
{
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file,"-------------------------\n");
@ -320,14 +320,14 @@ tree_if_convert_cond_expr (struct loop *loop, tree stmt, tree cond,
return;
}
/* Return true, iff PHI is if-convertable. PHI is part of loop LOOP
/* Return true, iff PHI is if-convertible. PHI is part of loop LOOP
and it belongs to basic block BB.
PHI is not if-convertable
PHI is not if-convertible
- if it has more than 2 arguments.
- Virtual PHI is immediately used in another PHI node. */
static bool
if_convertable_phi_p (struct loop *loop, basic_block bb, tree phi)
if_convertible_phi_p (struct loop *loop, basic_block bb, tree phi)
{
if (dump_file && (dump_flags & TDF_DETAILS))
{
@ -362,8 +362,8 @@ if_convertable_phi_p (struct loop *loop, basic_block bb, tree phi)
return true;
}
/* Return true, if M_EXPR is if-convertable.
MODIFY_EXPR is not if-convertable if,
/* Return true, if M_EXPR is if-convertible.
MODIFY_EXPR is not if-convertible if,
- It is not movable.
- It could trap.
- LHS is not var decl.
@ -371,7 +371,7 @@ if_convertable_phi_p (struct loop *loop, basic_block bb, tree phi)
*/
static bool
if_convertable_modify_expr_p (struct loop *loop, basic_block bb, tree m_expr)
if_convertible_modify_expr_p (struct loop *loop, basic_block bb, tree m_expr)
{
if (dump_file && (dump_flags & TDF_DETAILS))
{
@ -419,14 +419,14 @@ if_convertable_modify_expr_p (struct loop *loop, basic_block bb, tree m_expr)
return true;
}
/* Return true, iff STMT is if-convertable.
Statement is if-convertable if,
- It is if-convertable MODIFY_EXPR
/* Return true, iff STMT is if-convertible.
Statement is if-convertible if,
- It is if-convertible MODIFY_EXPR
- IT is LABEL_EXPR, GOTO_EXPR or COND_EXPR.
STMT is inside block BB, which is inside loop LOOP. */
static bool
if_convertable_stmt_p (struct loop *loop, basic_block bb, tree stmt)
if_convertible_stmt_p (struct loop *loop, basic_block bb, tree stmt)
{
switch (TREE_CODE (stmt))
{
@ -435,7 +435,7 @@ if_convertable_stmt_p (struct loop *loop, basic_block bb, tree stmt)
case MODIFY_EXPR:
if (!if_convertable_modify_expr_p (loop, bb, stmt))
if (!if_convertible_modify_expr_p (loop, bb, stmt))
return false;
break;
@ -457,9 +457,9 @@ if_convertable_stmt_p (struct loop *loop, basic_block bb, tree stmt)
return true;
}
/* Return true, iff BB is if-convertable.
/* Return true, iff BB is if-convertible.
Note: This routine does _not_ check basic block statements and phis.
Basic block is not if-convertable if,
Basic block is not if-convertible if,
- Basic block is non-empty and it is after exit block (in BFS order).
- Basic block is after exit block but before latch.
- Basic block edge(s) is not normal.
@ -467,7 +467,7 @@ if_convertable_stmt_p (struct loop *loop, basic_block bb, tree stmt)
BB is inside loop LOOP. */
static bool
if_convertable_bb_p (struct loop *loop, basic_block bb, bool exit_bb_seen)
if_convertible_bb_p (struct loop *loop, basic_block bb, bool exit_bb_seen)
{
edge e;
edge_iterator ei;
@ -504,19 +504,19 @@ if_convertable_bb_p (struct loop *loop, basic_block bb, bool exit_bb_seen)
return true;
}
/* Return true, iff LOOP is if-convertable.
LOOP is if-convertable if,
/* Return true, iff LOOP is if-convertible.
LOOP is if-convertible if,
- It is innermost.
- It has two or more basic blocks.
- It has only one exit.
- Loop header is not the exit edge.
- If its basic blocks and phi nodes are if convertable. See above for
- If its basic blocks and phi nodes are if convertible. See above for
more info.
FOR_VECTORIZER enables vectorizer specific checks. For example, support
for vector conditions, data dependency checks etc.. (Not implemented yet). */
static bool
if_convertable_loop_p (struct loop *loop, bool for_vectorizer ATTRIBUTE_UNUSED)
if_convertible_loop_p (struct loop *loop, bool for_vectorizer ATTRIBUTE_UNUSED)
{
tree phi;
basic_block bb;
@ -579,18 +579,18 @@ if_convertable_loop_p (struct loop *loop, bool for_vectorizer ATTRIBUTE_UNUSED)
{
bb = ifc_bbs[i];
if (!if_convertable_bb_p (loop, bb, exit_bb_seen))
if (!if_convertible_bb_p (loop, bb, exit_bb_seen))
return false;
/* Check statements. */
for (itr = bsi_start (bb); !bsi_end_p (itr); bsi_next (&itr))
if (!if_convertable_stmt_p (loop, bb, bsi_stmt (itr)))
if (!if_convertible_stmt_p (loop, bb, bsi_stmt (itr)))
return false;
/* ??? Check data dependency for vectorizer. */
/* What about phi nodes ? */
for (phi = phi_nodes (bb); phi; phi = PHI_CHAIN (phi))
if (!if_convertable_phi_p (loop, bb, phi))
if (!if_convertible_phi_p (loop, bb, phi))
return false;
if (bb_with_exit_edge_p (bb))