diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-04-13 14:26:26 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-04-13 14:26:26 +0200 |
commit | 3d3f9e7e6980d6d226b3a11e7ff0256158116b04 (patch) | |
tree | be300b9024e7162275964cad1fdb901a5e2ac0f0 /gcc/rtl.h | |
parent | 12de22454259eae414bcaa0c3edd38ed0e40cf77 (diff) | |
download | gcc-3d3f9e7e6980d6d226b3a11e7ff0256158116b04.zip gcc-3d3f9e7e6980d6d226b3a11e7ff0256158116b04.tar.gz gcc-3d3f9e7e6980d6d226b3a11e7ff0256158116b04.tar.bz2 |
re PR debug/70628 (ICE in get_reg_rtx, at emit-rtl.c:1025)
PR debug/70628
* rtl.h (convert_memory_address_addr_space_1): New prototype.
* explow.c (convert_memory_address_addr_space_1): No longer static,
add NO_EMIT argument and don't call convert_modes if true, pass
it down recursively, remove break after return.
(convert_memory_address_addr_space): Adjust caller.
* simplify-rtx.c (simplify_unary_operation_1): Call
convert_memory_address_addr_space_1 instead of convert_memory_address,
if it returns NULL, don't simplify.
* gcc.dg/torture/pr70628.c: New test.
From-SVN: r234933
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -2747,6 +2747,8 @@ extern unsigned int subreg_highpart_offset (machine_mode, machine_mode); extern int byte_lowpart_offset (machine_mode, machine_mode); extern rtx make_safe_from (rtx, rtx); +extern rtx convert_memory_address_addr_space_1 (machine_mode, rtx, + addr_space_t, bool, bool); extern rtx convert_memory_address_addr_space (machine_mode, rtx, addr_space_t); #define convert_memory_address(to_mode,x) \ |