OSDN Git Service

Revert:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Feb 2009 06:18:23 +0000 (06:18 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Feb 2009 06:18:23 +0000 (06:18 +0000)
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>:
Make case self-contained.
<ARRAY_REF>: Test TYPE_NONALIASED_COMPONENT flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144028 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-ssa-loop-ivopts.c

index c5833dd..11c3612 100644 (file)
@@ -1,9 +1,3 @@
-2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>:
-       Make case self-contained.
-       <ARRAY_REF>: Test TYPE_NONALIASED_COMPONENT flag.
-
 2009-02-07  Anatoly Sokolov  <aesok@post.ru>
 
        * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
index a1f5c47..ca1ab98 100644 (file)
@@ -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;