diff options
author | Andreas Krebbel <krebbel1@de.ibm.com> | 2008-02-25 15:07:17 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2008-02-25 15:07:17 +0000 |
commit | 2e4e39f615dacf0dbc8b02db27b1046f849c731d (patch) | |
tree | fc21b35d3970def7cfb0d7c5ee657f66f97bd3bf /gcc/alias.c | |
parent | 891984af0ffaed847d07a43c5528e9bd217dc2b9 (diff) | |
download | gcc-2e4e39f615dacf0dbc8b02db27b1046f849c731d.zip gcc-2e4e39f615dacf0dbc8b02db27b1046f849c731d.tar.gz gcc-2e4e39f615dacf0dbc8b02db27b1046f849c731d.tar.bz2 |
re PR target/35258 (two memcpy calls merged incorrectly with -O1)
2008-02-25 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/35258
* cse.c (cse_insn): Avoid creation of overlapping MEMs.
* alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
* alias.h (nonoverlapping_memrefs_p): Likewise.
2008-02-25 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/35258
* gcc.dg/pr35258.c: New testcase.
From-SVN: r132628
Diffstat (limited to 'gcc/alias.c')
-rw-r--r-- | gcc/alias.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/alias.c b/gcc/alias.c index bd5c277..56afa86 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -164,7 +164,6 @@ static int aliases_everything_p (const_rtx); static bool nonoverlapping_component_refs_p (const_tree, const_tree); static tree decl_for_component_ref (tree); static rtx adjust_offset_for_component_ref (tree, rtx); -static int nonoverlapping_memrefs_p (const_rtx, const_rtx); static int write_dependence_p (const_rtx, const_rtx, int); static void memory_modified_1 (rtx, const_rtx, void *); @@ -1976,7 +1975,7 @@ adjust_offset_for_component_ref (tree x, rtx offset) /* Return nonzero if we can determine the exprs corresponding to memrefs X and Y and they do not overlap. */ -static int +int nonoverlapping_memrefs_p (const_rtx x, const_rtx y) { tree exprx = MEM_EXPR (x), expry = MEM_EXPR (y); |