diff options
author | Richard Biener <rguenther@suse.de> | 2017-04-06 12:31:05 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-04-06 12:31:05 +0000 |
commit | 0f78434635f6e78cae50408a8bb76c35658551d4 (patch) | |
tree | 71e473dcdaf525f910f75285eed39cb0ba9aa850 /gcc/tree-ssa-sccvn.c | |
parent | 23a429c2b285953c026bfd01ded764e3b16eb1a8 (diff) | |
download | gcc-0f78434635f6e78cae50408a8bb76c35658551d4.zip gcc-0f78434635f6e78cae50408a8bb76c35658551d4.tar.gz gcc-0f78434635f6e78cae50408a8bb76c35658551d4.tar.bz2 |
re PR middle-end/80262 (address space gets lost in memory access)
2017-04-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/80262
* tree-sra.c (build_ref_for_offset): Preserve address-space
information.
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
Drop useless address-space information on MEM_REF offsets.
* gcc.target/i386/pr80262.c: New testcase.
From-SVN: r246728
Diffstat (limited to 'gcc/tree-ssa-sccvn.c')
-rw-r--r-- | gcc/tree-ssa-sccvn.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index e7502de..bce247a 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -1233,8 +1233,8 @@ vn_reference_maybe_forwprop_address (vec<vn_reference_op_s> *ops, && tem[tem.length () - 2].opcode == MEM_REF) { vn_reference_op_t new_mem_op = &tem[tem.length () - 2]; - new_mem_op->op0 = fold_convert (TREE_TYPE (mem_op->op0), - new_mem_op->op0); + new_mem_op->op0 = wide_int_to_tree (TREE_TYPE (mem_op->op0), + new_mem_op->op0); } else gcc_assert (tem.last ().opcode == STRING_CST); |