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: [PATCH] Modulo-scheduling improvements. Patch 2 of 2. (re-submission)


Revital,

The spu.md part is ok.

The comment is incorrect:
+.     ??? Introducing such do-loop pattern may increase register
+      pressure by adding an extra IV.  */

It's not the register pressure that causes performance degradation, it
is the possible introduction of a new block to intialize the new IV.
That potentially effects branch optimizations, which can make a big
difference on SPU.

Trevor


* Revital1 Eres <ERES@il.ibm.com> [2007-08-27 09:30]:
> Hello,
> 
> Regarding the following -
> 
> > > +  for (insn = head; insn != PREV_INSN (tail); insn = NEXT_INSN (insn))
> > > +    if ((found = reg_mentioned_p (reg, insn)) == true)
> >                                                  ^^^^^^^ redundant
> 
> I received an error/warning trying to remove it; so I left it as is.
> 
> > Suggest to combine the two checks, e.g. by:
> >
> > +  first_insn_not_to_check = (GET_CODE (PATTERN (tail)) == PARALLEL ?
> tail :
> > PREV_INSN (tail));
> > +
> 
> I'll address this in next patch.
> 
> Attached is the version I intend to commit once I'll get the final OK
> for the spu.md part.
> 
> Thanks,
> Revital


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