diff options
author | Richard Biener <rguenther@suse.de> | 2015-11-24 09:17:40 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-11-24 09:17:40 +0000 |
commit | 8ab1d9d72cf8cb59186d8af292707eb393e57c3b (patch) | |
tree | 30fc7ef6ecb1b0f0526913431bfd7331b38ece8b /gcc | |
parent | c4833de12598fbc5d8efb413a89ae6cf98b5f459 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-ssa-sccvn.c | 7 |
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); |