mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-15 18:01:31 +08:00
tree-if-conv.c (tree_if_convert_cond_expr): Do not create extra temp variables.
* tree-if-conv.c (tree_if_convert_cond_expr): Do not create extra temp variables. From-SVN: r98104
This commit is contained in:
parent
d29b4b1bc6
commit
f3b2c50692
@ -1,3 +1,8 @@
|
||||
2005-04-13 Devang Patel <dpatel@apple.com>
|
||||
|
||||
* tree-if-conv.c (tree_if_convert_cond_expr): Do not create extra
|
||||
temp variables.
|
||||
|
||||
2005-04-13 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
CRIS prologue as RTL.
|
||||
|
@ -277,15 +277,6 @@ tree_if_convert_cond_expr (struct loop *loop, tree stmt, tree cond,
|
||||
|
||||
c = COND_EXPR_COND (stmt);
|
||||
|
||||
/* Create temp. for condition. */
|
||||
if (!is_gimple_condexpr (c))
|
||||
{
|
||||
tree new_stmt;
|
||||
new_stmt = ifc_temp_var (TREE_TYPE (c), unshare_expr (c));
|
||||
bsi_insert_before (bsi, new_stmt, BSI_SAME_STMT);
|
||||
c = TREE_OPERAND (new_stmt, 0);
|
||||
}
|
||||
|
||||
extract_true_false_edges_from_block (bb_for_stmt (stmt),
|
||||
&true_edge, &false_edge);
|
||||
|
||||
@ -295,14 +286,6 @@ tree_if_convert_cond_expr (struct loop *loop, tree stmt, tree cond,
|
||||
add_to_dst_predicate_list (loop, true_edge->dest, cond,
|
||||
unshare_expr (c), bsi);
|
||||
|
||||
if (!is_gimple_reg(c) && is_gimple_condexpr (c))
|
||||
{
|
||||
tree new_stmt;
|
||||
new_stmt = ifc_temp_var (TREE_TYPE (c), unshare_expr (c));
|
||||
bsi_insert_before (bsi, new_stmt, BSI_SAME_STMT);
|
||||
c = TREE_OPERAND (new_stmt, 0);
|
||||
}
|
||||
|
||||
/* If 'c' is false then FALSE_EDGE is taken. */
|
||||
c2 = invert_truthvalue (unshare_expr (c));
|
||||
add_to_dst_predicate_list (loop, false_edge->dest, cond, c2, bsi);
|
||||
|
Loading…
x
Reference in New Issue
Block a user