This is the mail archive of the gcc@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: SPEC 456.hmmer vectorization question


On Thu, Mar 09, 2017 at 09:02:38AM +0100, Richard Biener wrote:
> It would need to be done before graphite, and yes, the question is when
> to do this (given the non-trival text size and runtime cost).  One option is
> to do sth similar like we do with IFN_LOOP_VECTORIZED, that is, after
> followup transforms decide whether the specialized version received any
> important optimization.  Another option is to add value profile counters
> for aliasing and only do this with FDO when we know at runtime there
> is no aliasing.

It doesn't have to be either/or.  If we have FDO, we can do it
unconditionally if we have gathered into that there is likely no aliasing,
and optimize the other loop (for the case of aliasing) for size.
If we don't have FDO, we could do the IFN_LOOP_VERSIONED way.
For IFN_LOOP_VERSIONED, if we check all aliasing cases we could then either
use the OpenMP/Cilk/ivdep pragma loop properties (loop->safelen etc.),
or even have something stronger (that would say that there aren't
any inter-iteration memory dependencies).

	Jakub


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