diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-03-03 11:57:15 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-03-03 11:57:15 +0000 |
commit | 802d9f2fb5b40a5e6496e84cfc5ff75dc57059d0 (patch) | |
tree | ce54fd8c85046ba566eb8d22fa71e375248c6f70 /gcc/tree-ssa-loop-ivopts.c | |
parent | 663608f58b3a0be4a195fbcb2b2b7c1dbad9818c (diff) | |
download | gcc-802d9f2fb5b40a5e6496e84cfc5ff75dc57059d0.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132836 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-loop-ivopts.c')
-rw-r--r-- | gcc/tree-ssa-loop-ivopts.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 4121d821aa7..02fe707fb3f 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 ... */ |