aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-data-ref.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-09-20 14:46:32 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-09-20 14:46:32 +0000
commitf2ea3c151c65c472024cf22b2e772819578d2011 (patch)
tree7c40cb4ca14799b642d2ac2fee157af59835524f /gcc/tree-data-ref.c
parentc0758df9210fdfce00d0d12bb66deca78e277659 (diff)
downloadgcc-f2ea3c151c65c472024cf22b2e772819578d2011.zip
gcc-f2ea3c151c65c472024cf22b2e772819578d2011.tar.gz
gcc-f2ea3c151c65c472024cf22b2e772819578d2011.tar.bz2
re PR tree-optimization/54634 (miscompilation with -O3 -ftree-loop-distribution)
2012-09-20 Richard Guenther <rguenther@suse.de> PR tree-optimization/54634 * tree-data-ref.c (get_references_in_stmt): For now give up for pure functions. From-SVN: r191567
Diffstat (limited to 'gcc/tree-data-ref.c')
-rw-r--r--gcc/tree-data-ref.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index 4f6df91..0d647d7 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -4307,10 +4307,10 @@ get_references_in_stmt (gimple stmt, VEC (data_ref_loc, heap) **references)
*references = NULL;
/* ASM_EXPR and CALL_EXPR may embed arbitrary side effects.
- Calls have side-effects, except those to const or pure
- functions. */
+ As we cannot model data-references to not spelled out
+ accesses give up if they may occur. */
if ((stmt_code == GIMPLE_CALL
- && !(gimple_call_flags (stmt) & (ECF_CONST | ECF_PURE)))
+ && !(gimple_call_flags (stmt) & ECF_CONST))
|| (stmt_code == GIMPLE_ASM
&& (gimple_asm_volatile_p (stmt) || gimple_vuse (stmt))))
clobbers_memory = true;