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]

Re: RFA: patch adding priority coloring for m32c and other ports


On Thu, Dec 4, 2008 at 9:37 AM, Vladimir Makarov <vmakarov@redhat.com> wrote:
> Jeff, DJ pointed me some gcc crashes of m32c port with the priority coloring
> patch on newlib and libstdc++.   I fixed them.  Here the two additional
> patches to review (I decided to sent them instead of full updated patch for
> clarity).
>
> The 1st patch fixes a typo missing allocno_conflict_hard_regs update to
> prohibit usage of  callee-saved likely spilled base registers for allocnos
> crossing calls.  As I wrote m32c has 2 registers of class A_REGS which are
> used for addressing.  If a code for save/restore of such register is
> generated, reload pass dies because we need one A_REG for addressing in
> save/restore code for saving A_REG register, and one A_REG register can be
> used explicitly in a call.
>
> The 2nd patch adds a new register class R02A_REGS (in many cases both
> R02_REGS and A_REGS is more profitable than memory) which permits to assign
> wider classes for allocnos in IRA and prevent some reload crashes
> (insufficient R02_REGS).  The patch also fixing a latent reload bug in
> reload inheritance optimization.  The compiler crashes in
> smallest_mode_for_size because can not find PARTIAL_INT_MODE of size 8 bytes
> (that is because DImode was used earlier for the pseudo and we are reloading
> (subreg:PSI (reg:DI x) 4)).  I have some doubts about the original code but
> I used the simplest fix on this stage.  And finally the patch fixes a reload
> crash because jump insn code was set up to -1 by CFG (commit_edge_insertion
> call) and reload can not set it up again because some insn pattern guard.
>  So I used the  simplest fix which is to reset the code at the end of
> ira-emit.c if it is negative.
>

Hi Vladimir,

I checked your patches into ira-merge branch. I had to apply the first patch
by handle since spaces don't match.



-- 
H.J.


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