From: Bernd Schmidt Date: Thu, 1 Mar 2001 13:35:13 +0000 (+0000) Subject: Fix register elimination problem X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1abdf5e7476e4390edf3556d43a5601870cd3418;p=gcc.git Fix register elimination problem From-SVN: r40147 --- 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