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]

Fix error in distribute_links in combine.c


If one of the insns being combined is has a dest of a zero_extract
that can be changed into a REG (e.g., it's 32 bits wide for SImode),
the the log link and reg death tracking can get confused.  This is the
fix.  The test case is again a large Ada example.

Tested on i686-pc-linux-gnu.

2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* combine.c (distribute_links): Properly test for REG being set.

*** combine.c	6 Oct 2003 08:52:17 -0000	1.390
--- combine.c	9 Oct 2003 21:10:27 -0000
*************** distribute_links (rtx links)
*** 13000,13003 ****
--- 13000,13005 ----
  	    break;
  	  }
+ 	else if (INSN_P (insn) && reg_set_p (reg, insn))
+ 	  break;
  
        /* If we found a place to put the link, place it there unless there


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