aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2005-04-29 18:39:22 +0000
committerMichael Matz <matz@gcc.gnu.org>2005-04-29 18:39:22 +0000
commita68b179c86764d41292502567a7b1252f4e57eae (patch)
tree2a59c00753664184fec11cb5161c9e72f3e52ca4 /gcc
parentf3dc41fe8e21d79b5338eca6fa50e894b6a4db14 (diff)
downloadgcc-a68b179c86764d41292502567a7b1252f4e57eae.zip
gcc-a68b179c86764d41292502567a7b1252f4e57eae.tar.gz
gcc-a68b179c86764d41292502567a7b1252f4e57eae.tar.bz2
re PR rtl-optimization/21144 (Apparent infinite loop in reload)
PR rtl-optimization/21144 * postreload.c (reload_cse_move2add): Check for VOIDmode. From-SVN: r99008
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/postreload.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bc9b0e6..b95a20a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-29 Michael Matz <matz@suse.de>
+
+ PR rtl-optimization/21144
+ * postreload.c (reload_cse_move2add): Check for VOIDmode.
+
2005-04-29 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Define to disable
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 16cb818..3d9b24b 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -1269,7 +1269,8 @@ reload_cse_move2add (rtx first)
{
enum machine_mode narrow_mode;
for (narrow_mode = GET_CLASS_NARROWEST_MODE (MODE_INT);
- narrow_mode != GET_MODE (reg);
+ narrow_mode != VOIDmode
+ && narrow_mode != GET_MODE (reg);
narrow_mode = GET_MODE_WIDER_MODE (narrow_mode))
{
if (have_insn_for (STRICT_LOW_PART, narrow_mode)