[webkit-dev] DFG optimizations

blake fiddler blake.fiddler at gmail.com
Wed May 23 02:53:23 PDT 2012


Hi,
Have you some news about dfg optimisations? what are you planing, what have
you now or what is your current work ?

Currently we do not have either LICM, or loop peeling, or GCSE. We do have
> a patch that implements LICM, but we are letting it simmer for now because
> under the current DFG IR, it is somewhat of a complicated beast. My main
> concern is just bug tail, due to the various stunts that the current LICM
> patch has to do to fool the DFG into moving code between basic blocks.
>
> We're fixing that by steadily moving the DFG IR towards SSA. Once we
> finish that, I think we'll implement either LICM or peeling+GCSE based on
> whatever appears to be the simplest. We already know that LICM is a pure
> performance win; but on the other hand, GCSE is likely to be more generic.
> I tend to think that extending our current CSE framework to support some
> maximally-profitable subset of GCSE will not be terribly difficult.
>
> We don't currently have PRE. It's not on my short list of optimizations to
> implement.
>
> But if we wanted to go down that route, it might be interesting to
> consider something like Van Drunen's GVN-PRE [1]. I have already been
> thinking about implementing GVN; maybe just going straight for GVN-PRE
> would turn out to be easy enough. But it goes without saying that GVN alone
> is a dead-simple optimization compared to Van Drunen's work, and, even
> according to his performance results, PRE is a *tiny* win over simpler
> redundancy elimination optimizations.
>
> -Filip
>
> [1] ftp://ftp.cs.purdue.edu/pub/hosking/papers/a-ssapre.pdf
>
>
>
> On Mar 25, 2012, at 4:59 PM, Nare Karapetyan wrote:
>
> > HI!
> >
> > There is a discussion about LICM implementation in DFG in one of
> previous posts.
> > There it was said that the developers had not decided yet which
> optimization to do: LICM or loop peeling with global CSE.
> > So is there any progress in this direction?
> >
> >
> > And about CSE, does it include the partial redundancy elimination (PRE)?
> >
> >
> > --
> >
> >
> > _______________________________________________
> > webkit-dev mailing list
> > webkit-dev at lists.webkit.org
> > http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.webkit.org/pipermail/webkit-dev/attachments/20120325/a57e47fa/attachment-0001.html
> >
>
> ------------------------------
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
>
> End of webkit-dev Digest, Vol 82, Issue 38
> ******************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20120523/ceee1998/attachment.html>


More information about the webkit-dev mailing list