[PATCH] Inverse post-order traversal for LiveVariables analysis, to recover the performance after r214064

Alexander Kornienko alexfh at google.com
Wed Aug 20 03:13:11 PDT 2014


On Fri, Aug 15, 2014 at 10:38 AM, Artyom Skrobov <Artyom.Skrobov at arm.com>
wrote:

> Many thanks -- committed as r215650
>
> Alexander, can you confirm that the analyzer performance is now acceptable
> for your use cases?
>

Artyom, sorry for the long delay. These files now work fine, but I still
see up to 8-10 hours analysis time on a couple of other files. I'm sure I
didn't see this before your first patch, but I can't yet tell in which
revision it was introduced. I'll post more details and a repro later today.


>
>
> -----Original Message-----
> From: Ted kremenek [mailto:kremenek at apple.com]
> Sent: 14 August 2014 16:36
> To: Artyom Skrobov
> Cc: Alexander Kornienko; cfe-commits at cs.uiuc.edu
> Subject: Re: [PATCH] Inverse post-order traversal for LiveVariables
> analysis, to recover the performance after r214064
>
> Looks great to me.
>
> > On Aug 14, 2014, at 3:08 AM, Artyom Skrobov <Artyom.Skrobov at arm.com>
> wrote:
> >
> > Thank you Ted!
> >
> > Attaching the updated patch for a final review.
> >
> > Summary of changes:
> >
> > * Comments updated to reflect the two possible CFG traversal orders
> > * PostOrderCFGView::po_iterator taken out of the header file
> > * Iteration order for PostOrderCFGView changed to "reverse inverse
> > post-order", the one required for a backward analysis
> > * ReversePostOrderCFGView created, with the same iteration order that
> > PostOrderCFGView used to have, the one required for a forward analysis
> > * The two previous consumers of PostOrderCFGView, ThreadSafetyCommon.h
> and
> > Consumed.cpp, switched to use ReversePostOrderCFGView
> > * DataflowWorklistBase renamed to DataflowWorklist, and the two
> > specializations named BackwardDataflowWorklist and
> ForwardDataflowWorklist
> >
> > I believe this naming scheme matches the accepted terminology best.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140820/5bab1469/attachment.html>


More information about the cfe-commits mailing list