From 7a4fbffcb2f9fd0720f5f9d2865d765c8e70db8c Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 9 Feb 2009 06:18:23 +0000 Subject: [PATCH] revert: tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Make case self-contained. Revert: * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) : Make case self-contained. : Test TYPE_NONALIASED_COMPONENT flag. From-SVN: r144028 --- gcc/ChangeLog | 6 ------ gcc/tree-ssa-loop-ivopts.c | 11 ++++++----- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c5833dd..11c3612 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,9 +1,3 @@ -2009-02-08 Eric Botcazou - - * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) : - Make case self-contained. - : Test TYPE_NONALIASED_COMPONENT flag. - 2009-02-07 Anatoly Sokolov * config/avr/avr.c (avr_mcu_t): Add ata6289 device. 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; -- 2.7.4