diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-01-31 08:53:43 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-01-31 08:53:43 +0000 |
commit | 5789f1f82430087fe0a479641b5fcb81b275c5dd (patch) | |
tree | 1816685276eef9d8ecda39d62c24870c6c84440a /gcc | |
parent | fad68b9fcd9e0f1849f3259befa665ca5bee6817 (diff) | |
download | ppe42-gcc-5789f1f82430087fe0a479641b5fcb81b275c5dd.tar.gz ppe42-gcc-5789f1f82430087fe0a479641b5fcb81b275c5dd.zip |
2013-01-31 Richard Biener <rguenther@suse.de>
PR tree-optimization/56150
* tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
visit virtual operands.
(find_uses_to_rename_bb): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195609 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/tree-ssa-loop-manip.c | 7 |
2 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ae641ef3555..b09bce00464 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,11 @@ -2013-01-30 Richard Biener <rguenther@suse.de> +2013-01-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/56150 + * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not + visit virtual operands. + (find_uses_to_rename_bb): Likewise. + +2013-01-31 Richard Biener <rguenther@suse.de> PR tree-optimization/56150 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c index 3601ece8b32..4645588d3e7 100644 --- a/gcc/tree-ssa-loop-manip.c +++ b/gcc/tree-ssa-loop-manip.c @@ -402,7 +402,7 @@ find_uses_to_rename_stmt (gimple stmt, bitmap *use_blocks, bitmap need_phis) if (is_gimple_debug (stmt)) return; - FOR_EACH_SSA_TREE_OPERAND (var, stmt, iter, SSA_OP_ALL_USES) + FOR_EACH_SSA_TREE_OPERAND (var, stmt, iter, SSA_OP_USE) find_uses_to_rename_use (bb, var, use_blocks, need_phis); } @@ -422,8 +422,9 @@ find_uses_to_rename_bb (basic_block bb, bitmap *use_blocks, bitmap need_phis) for (bsi = gsi_start_phis (e->dest); !gsi_end_p (bsi); gsi_next (&bsi)) { gimple phi = gsi_stmt (bsi); - find_uses_to_rename_use (bb, PHI_ARG_DEF_FROM_EDGE (phi, e), - use_blocks, need_phis); + if (! virtual_operand_p (gimple_phi_result (phi))) + find_uses_to_rename_use (bb, PHI_ARG_DEF_FROM_EDGE (phi, e), + use_blocks, need_phis); } for (bsi = gsi_start_bb (bb); !gsi_end_p (bsi); gsi_next (&bsi)) |