aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-11-24 09:17:40 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-11-24 09:17:40 +0000
commit8ab1d9d72cf8cb59186d8af292707eb393e57c3b (patch)
tree30fc7ef6ecb1b0f0526913431bfd7331b38ece8b /gcc
parentc4833de12598fbc5d8efb413a89ae6cf98b5f459 (diff)
downloadgcc-8ab1d9d72cf8cb59186d8af292707eb393e57c3b.zip
gcc-8ab1d9d72cf8cb59186d8af292707eb393e57c3b.tar.gz
gcc-8ab1d9d72cf8cb59186d8af292707eb393e57c3b.tar.bz2
re PR middle-end/68221 (libgomp reduction-11/12 failures)
2015-11-24 Richard Biener <rguenther@suse.de> PR middle-end/68221 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly use mem_ref_offset. From-SVN: r230793
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-sccvn.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b3538c4..b8e7129 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-11-24 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68221
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
+ use mem_ref_offset.
+
2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
PR rtl-optimization/68381
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index 9a55b5b..0c7fd72 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -750,8 +750,11 @@ copy_reference_ops_from_ref (tree ref, vec<vn_reference_op_s> *result)
case MEM_REF:
/* The base address gets its own vn_reference_op_s structure. */
temp.op0 = TREE_OPERAND (ref, 1);
- if (tree_fits_shwi_p (TREE_OPERAND (ref, 1)))
- temp.off = tree_to_shwi (TREE_OPERAND (ref, 1));
+ {
+ offset_int off = mem_ref_offset (ref);
+ if (wi::fits_shwi_p (off))
+ temp.off = off.to_shwi ();
+ }
temp.clique = MR_DEPENDENCE_CLIQUE (ref);
temp.base = MR_DEPENDENCE_BASE (ref);
temp.reverse = REF_REVERSE_STORAGE_ORDER (ref);