aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-ivopts.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2009-02-09 06:18:23 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2009-02-09 06:18:23 +0000
commit7a4fbffcb2f9fd0720f5f9d2865d765c8e70db8c (patch)
treead0c5bd754752c0be921db642d8bf8cd6fbb8ae7 /gcc/tree-ssa-loop-ivopts.c
parentafbe166081f901f40dc35ba0141a42ac452d56ee (diff)
downloadgcc-7a4fbffcb2f9fd0720f5f9d2865d765c8e70db8c.zip
gcc-7a4fbffcb2f9fd0720f5f9d2865d765c8e70db8c.tar.gz
gcc-7a4fbffcb2f9fd0720f5f9d2865d765c8e70db8c.tar.bz2
revert: tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Make case self-contained.
Revert: * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>: Make case self-contained. <ARRAY_REF>: Test TYPE_NONALIASED_COMPONENT flag. From-SVN: r144028
Diffstat (limited to 'gcc/tree-ssa-loop-ivopts.c')
-rw-r--r--gcc/tree-ssa-loop-ivopts.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index a1f5c47..ca1ab98 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -1562,14 +1562,15 @@ 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. */
- return is_gimple_reg (TREE_OPERAND (expr, 0))
- || !is_gimple_addressable (TREE_OPERAND (expr, 0))
- || may_be_nonaddressable_p (TREE_OPERAND (expr, 0));
+ if (is_gimple_reg (TREE_OPERAND (expr, 0))
+ || !is_gimple_addressable (TREE_OPERAND (expr, 0)))
+ return true;
+
+ /* ... fall through ... */
case ARRAY_REF:
case ARRAY_RANGE_REF:
- return TYPE_NONALIASED_COMPONENT (TREE_TYPE (TREE_OPERAND (expr, 0)))
- || may_be_nonaddressable_p (TREE_OPERAND (expr, 0));
+ return may_be_nonaddressable_p (TREE_OPERAND (expr, 0));
CASE_CONVERT:
return true;