diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-07 06:05:11 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-07 06:05:11 +0000 |
commit | ebebeee379dd8b985e6877e56bc124041907038b (patch) | |
tree | 32a2ce6c6b8ce5f11172be301cb81225d5d5cbac /gcc/tree-ssa-phiprop.c | |
parent | 588bbfff28d00a54a71f2d751fb75767b6b1b3cb (diff) | |
download | gcc-ebebeee379dd8b985e6877e56bc124041907038b.tar.gz |
2009-04-07 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r145646
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@145649 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-phiprop.c')
-rw-r--r-- | gcc/tree-ssa-phiprop.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/tree-ssa-phiprop.c b/gcc/tree-ssa-phiprop.c index 27ad87ddf55..d95b3584b91 100644 --- a/gcc/tree-ssa-phiprop.c +++ b/gcc/tree-ssa-phiprop.c @@ -105,12 +105,11 @@ static bool phivn_valid_p (struct phiprop_d *phivn, tree name, basic_block bb) { gimple vop_stmt = phivn[SSA_NAME_VERSION (name)].vop_stmt; - ssa_op_iter ui; tree vuse; /* The def stmts of all virtual uses need to be post-dominated by bb. */ - FOR_EACH_SSA_TREE_OPERAND (vuse, vop_stmt, ui, SSA_OP_VUSE) + if ((vuse = gimple_vuse (vop_stmt))) { gimple use_stmt; imm_use_iterator ui2; @@ -120,7 +119,7 @@ phivn_valid_p (struct phiprop_d *phivn, tree name, basic_block bb) { /* If BB does not dominate a VDEF, the value is invalid. */ if (((is_gimple_assign (use_stmt) - && !ZERO_SSA_OPERANDS (use_stmt, SSA_OP_VDEF)) + && gimple_vdef (use_stmt)) || gimple_code (use_stmt) == GIMPLE_PHI) && !dominated_by_p (CDI_DOMINATORS, gimple_bb (use_stmt), bb)) { @@ -229,8 +228,7 @@ propagate_with_phi (basic_block bb, gimple phi, struct phiprop_d *phivn, ssa_op_iter i; bool phi_inserted; - if (MTAG_P (SSA_NAME_VAR (ptr)) - || !POINTER_TYPE_P (TREE_TYPE (ptr)) + if (!POINTER_TYPE_P (TREE_TYPE (ptr)) || !is_gimple_reg_type (TREE_TYPE (TREE_TYPE (ptr)))) return false; @@ -271,7 +269,6 @@ propagate_with_phi (basic_block bb, gimple phi, struct phiprop_d *phivn, phi_inserted = false; FOR_EACH_IMM_USE_STMT (use_stmt, ui, ptr) { - ssa_op_iter ui2; tree vuse; /* Check whether this is a load of *ptr. */ @@ -285,7 +282,7 @@ propagate_with_phi (basic_block bb, gimple phi, struct phiprop_d *phivn, /* Check if we can move the loads. The def stmts of all virtual uses need to be post-dominated by bb. */ - FOR_EACH_SSA_TREE_OPERAND (vuse, use_stmt, ui2, SSA_OP_VUSE) + if ((vuse = gimple_vuse (use_stmt)) != NULL_TREE) { gimple def_stmt = SSA_NAME_DEF_STMT (vuse); if (!SSA_NAME_IS_DEFAULT_DEF (vuse) |