aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-ivopts.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2008-03-03 11:57:15 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-03-03 11:57:15 +0000
commit9a3277660593535784174ac188b09a151ca9aaee (patch)
treece54fd8c85046ba566eb8d22fa71e375248c6f70 /gcc/tree-ssa-loop-ivopts.c
parent6a732743bdccfe0eac5e67d90ef5ee5fe70dfe35 (diff)
downloadgcc-9a3277660593535784174ac188b09a151ca9aaee.zip
gcc-9a3277660593535784174ac188b09a151ca9aaee.tar.gz
gcc-9a3277660593535784174ac188b09a151ca9aaee.tar.bz2
tree-ssa-sccvn.c (visit_reference_op_store): Do not insert struct copies into the expression table.
2008-03-03 Richard Guenther <rguenther@suse.de> * tree-ssa-sccvn.c (visit_reference_op_store): Do not insert struct copies into the expression table. (simplify_unary_expression): Handle VIEW_CONVERT_EXPR. (try_to_simplify): Likewise. * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPR of integral and pointer arguments which do not change the precision to NOP_EXPRs. * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Adjust VIEW_CONVERT_EXPR case. From-SVN: r132836
Diffstat (limited to 'gcc/tree-ssa-loop-ivopts.c')
-rw-r--r--gcc/tree-ssa-loop-ivopts.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index 4121d82..02fe707f 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -1525,8 +1525,8 @@ may_be_nonaddressable_p (tree expr)
and make them look addressable. After some processing the
non-addressability may be uncovered again, causing ADDR_EXPRs
of inappropriate objects to be built. */
- if (AGGREGATE_TYPE_P (TREE_TYPE (expr))
- && !AGGREGATE_TYPE_P (TREE_TYPE (TREE_OPERAND (expr, 0))))
+ if (is_gimple_reg (TREE_OPERAND (expr, 0))
+ || is_gimple_min_invariant (TREE_OPERAND (expr, 0)))
return true;
/* ... fall through ... */