aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-04-13 14:26:26 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-04-13 14:26:26 +0200
commit3d3f9e7e6980d6d226b3a11e7ff0256158116b04 (patch)
treebe300b9024e7162275964cad1fdb901a5e2ac0f0 /gcc/rtl.h
parent12de22454259eae414bcaa0c3edd38ed0e40cf77 (diff)
downloadgcc-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.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 79916ad..8267252 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -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) \