diff options
author | Richard Guenther <rguenther@suse.de> | 2010-05-16 17:15:30 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-05-16 17:15:30 +0000 |
commit | 2e0c984cca3f924d74de7a98866bc6144674f9a8 (patch) | |
tree | 2594e099977d671504649cb681016ba097da69d0 /gcc/alias.c | |
parent | 329122862022114caf79d97afe2cc89cc8c6412d (diff) | |
download | gcc-2e0c984cca3f924d74de7a98866bc6144674f9a8.zip gcc-2e0c984cca3f924d74de7a98866bc6144674f9a8.tar.gz gcc-2e0c984cca3f924d74de7a98866bc6144674f9a8.tar.bz2 |
alias.c (nonoverlapping_memrefs_p): Remove use of IPA type-escape information.
2010-05-16 Richard Guenther <rguenther@suse.de>
* alias.c (nonoverlapping_memrefs_p): Remove use of
IPA type-escape information.
From-SVN: r159460
Diffstat (limited to 'gcc/alias.c')
-rw-r--r-- | gcc/alias.c | 42 |
1 files changed, 10 insertions, 32 deletions
diff --git a/gcc/alias.c b/gcc/alias.c index 1d69d9d..a4083a1 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -2196,43 +2196,21 @@ nonoverlapping_memrefs_p (const_rtx x, const_rtx y) moffsetx = MEM_OFFSET (x); if (TREE_CODE (exprx) == COMPONENT_REF) { - if (TREE_CODE (expry) == VAR_DECL - && POINTER_TYPE_P (TREE_TYPE (expry))) - { - tree field = TREE_OPERAND (exprx, 1); - tree fieldcontext = DECL_FIELD_CONTEXT (field); - if (ipa_type_escape_field_does_not_clobber_p (fieldcontext, - TREE_TYPE (field))) - return 1; - } - { - tree t = decl_for_component_ref (exprx); - if (! t) - return 0; - moffsetx = adjust_offset_for_component_ref (exprx, moffsetx); - exprx = t; - } + tree t = decl_for_component_ref (exprx); + if (! t) + return 0; + moffsetx = adjust_offset_for_component_ref (exprx, moffsetx); + exprx = t; } moffsety = MEM_OFFSET (y); if (TREE_CODE (expry) == COMPONENT_REF) { - if (TREE_CODE (exprx) == VAR_DECL - && POINTER_TYPE_P (TREE_TYPE (exprx))) - { - tree field = TREE_OPERAND (expry, 1); - tree fieldcontext = DECL_FIELD_CONTEXT (field); - if (ipa_type_escape_field_does_not_clobber_p (fieldcontext, - TREE_TYPE (field))) - return 1; - } - { - tree t = decl_for_component_ref (expry); - if (! t) - return 0; - moffsety = adjust_offset_for_component_ref (expry, moffsety); - expry = t; - } + tree t = decl_for_component_ref (expry); + if (! t) + return 0; + moffsety = adjust_offset_for_component_ref (expry, moffsety); + expry = t; } if (! DECL_P (exprx) || ! DECL_P (expry)) |