Re: [PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-10-03 Thread Wei Mi
> You removed conditition with LRA_SUBREG for non-paradoxical subreg > generated for matched operands. I think that is important condition and > the comment says why. There are some 32-bit insns constraints requiring > different modes (int and fp ones) for matching operands in FP regs. The > con

Re: [PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-10-03 Thread Vladimir Makarov
On 10/01/2013 01:55 AM, Wei Mi wrote: >> Probably the best place to add a code for this is in >> lra-constraints.c::simplify_operand_subreg by permitting subreg reload >> for paradoxical subregs whose hard regs are not fully in allocno class >> of the inner pseudo. >> >> It needs a good testing (i'

Re: [PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-10-01 Thread Wei Mi
> Please check whether it is ok. Boostrap and regression ok. I am also > verifying its performance effect on google applications (But most of > them are 64 bits, so I cannot verify its performance effect on 32 bits > apps). Have verified It has no performance impact on google applications. Thanks

Re: [PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-09-30 Thread Wei Mi
> Probably the best place to add a code for this is in > lra-constraints.c::simplify_operand_subreg by permitting subreg reload > for paradoxical subregs whose hard regs are not fully in allocno class > of the inner pseudo. > > It needs a good testing (i'd check that the generated code is not > cha

Re: [PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-09-25 Thread Vladimir Makarov
On 09/25/2013 02:00 PM, Wei Mi wrote: >> To define for what occurrence of the pseudo we should do the >> transformation, we need to create allocnos and calculate reg classes to >> know what paradoxical subreg needs more hard regs (the transformations >> can not be done for all paradoxical subregs

Re: [PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-09-25 Thread Wei Mi
> To define for what occurrence of the pseudo we should do the > transformation, we need to create allocnos and calculate reg classes to > know what paradoxical subreg needs more hard regs (the transformations > can not be done for all paradoxical subregs as my experience shows many > RTL changes

Re: [PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-09-25 Thread Vladimir Makarov
On 09/25/2013 12:42 PM, Wei Mi wrote: >> performance. For example, we have code >> >> ... (reg:DI) ... >> ... >> ... (subreg:TI (reg:DI)) >> ... >> ...(reg:DI) >> >> We need two hard regs only for the second place by transforming >> >> p = (reg:DI) >> >> ...(subreg:TI p) >> >> With this patch we re

Re: [PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-09-25 Thread Wei Mi
> performance. For example, we have code > > ... (reg:DI) ... > ... > ... (subreg:TI (reg:DI)) > ... > ...(reg:DI) > > We need two hard regs only for the second place by transforming > > p = (reg:DI) > > ...(subreg:TI p) > > With this patch we requires two hard regs for the all live range of the >

Re: [PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-09-25 Thread Vladimir Makarov
On 09/24/2013 07:57 PM, Wei Mi wrote: > Hi, > > This patch is to address the problem described here: > http://gcc.gnu.org/ml/gcc/2013-09/msg00187.html > > The patch changes ALLOCNO_MODE of a pseudo reg to be outermode if the > pseudo reg is used in a paradoxical subreg, so IRA will not mistakenly >

[PATCH, IRA] Fix ALLOCNO_MODE in the case of paradoxical subreg.

2013-09-24 Thread Wei Mi
Hi, This patch is to address the problem described here: http://gcc.gnu.org/ml/gcc/2013-09/msg00187.html The patch changes ALLOCNO_MODE of a pseudo reg to be outermode if the pseudo reg is used in a paradoxical subreg, so IRA will not mistakenly assign an operand with a bigger mode to a smaller h