This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Fix a regression on cris


Hi,

The enclosed patch fixes the regression caused by dataflow merge.
This is a latent bug revealed by better loglinks in dataflow branch.
Bootstrapped and reg-tested on x86-64.
Hans-Peter Nilsson tested the change on cris and it fixed all regressions.
Approved by Ian Lance Taylor on IRC.
Committed as revision 125634.

ChangeLog:
2007-06-11  Seongbae Park <seongbae.park@gmail.com>

      * combine.c (subst): Use reg_overlap_mentioned_p
      instead of comparing register numbers directly.


-- #pragma ident "Seongbae Park, compiler, http://seongbae.blogspot.com";


Index: gcc/combine.c =================================================================== --- gcc/combine.c (revision 125628) +++ gcc/combine.c (working copy) @@ -4237,7 +4237,7 @@ subst (rtx x, rtx from, rtx to, int in_d

     So force this insn not to match in this (rare) case.  */
  if (! in_dest && code == REG && REG_P (from)
-      && REGNO (x) == REGNO (from))
+      && reg_ovelap_mentioned_p (x, from))
    return gen_rtx_CLOBBER (GET_MODE (x), const0_rtx);

/* If this is an object, we are done unless it is a MEM or LO_SUM, both


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]