From 1abdf5e7476e4390edf3556d43a5601870cd3418 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Thu, 1 Mar 2001 13:35:13 +0000 Subject: [PATCH] Fix register elimination problem From-SVN: r40147 --- gcc/ChangeLog | 3 +++ gcc/reload1.c | 1 + 2 files changed, 4 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 40a88ef46be..879827b9f16 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2001-03-01 Bernd Schmidt + * reload1.c (eliminate_regs_in_insn): Restrict the special case + code not to try to optimize adds with anything but a REG destination. + * sched-int.h (struct haifa_insn_data): Add new member priority_known. (INSN_PRIORITY_KNOWN): New accessor macro. * haifa-sched.c (priority): Use it instead of testing priority against diff --git a/gcc/reload1.c b/gcc/reload1.c index 13d609ef755..077c410d825 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -3016,6 +3016,7 @@ eliminate_regs_in_insn (insn, replace) currently support: a single set with the source being a PLUS of an eliminable register and a constant. */ if (old_set + && GET_CODE (SET_DEST (old_set)) == REG && GET_CODE (SET_SRC (old_set)) == PLUS && GET_CODE (XEXP (SET_SRC (old_set), 0)) == REG && GET_CODE (XEXP (SET_SRC (old_set), 1)) == CONST_INT -- 2.30.2