<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Aug 15, 2014 at 10:38 AM, Artyom Skrobov <span dir="ltr"><<a href="mailto:Artyom.Skrobov@arm.com" target="_blank">Artyom.Skrobov@arm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Many thanks -- committed as r215650<br>
<br>
Alexander, can you confirm that the analyzer performance is now acceptable<br>
for your use cases?<br></blockquote><div><br></div><div>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.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im HOEnZb"><br>
<br>
-----Original Message-----<br>
From: Ted kremenek [mailto:<a href="mailto:kremenek@apple.com">kremenek@apple.com</a>]<br>
Sent: 14 August 2014 16:36<br>
To: Artyom Skrobov<br>
Cc: Alexander Kornienko; <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
Subject: Re: [PATCH] Inverse post-order traversal for LiveVariables<br>
analysis, to recover the performance after r214064<br>
<br>
</div><div class="HOEnZb"><div class="h5">Looks great to me.<br>
<br>
> On Aug 14, 2014, at 3:08 AM, Artyom Skrobov <<a href="mailto:Artyom.Skrobov@arm.com">Artyom.Skrobov@arm.com</a>><br>
wrote:<br>
><br>
> Thank you Ted!<br>
><br>
> Attaching the updated patch for a final review.<br>
><br>
> Summary of changes:<br>
><br>
> * Comments updated to reflect the two possible CFG traversal orders<br>
> * PostOrderCFGView::po_iterator taken out of the header file<br>
> * Iteration order for PostOrderCFGView changed to "reverse inverse<br>
> post-order", the one required for a backward analysis<br>
> * ReversePostOrderCFGView created, with the same iteration order that<br>
> PostOrderCFGView used to have, the one required for a forward analysis<br>
> * The two previous consumers of PostOrderCFGView, ThreadSafetyCommon.h and<br>
> Consumed.cpp, switched to use ReversePostOrderCFGView<br>
> * DataflowWorklistBase renamed to DataflowWorklist, and the two<br>
> specializations named BackwardDataflowWorklist and ForwardDataflowWorklist<br>
><br>
> I believe this naming scheme matches the accepted terminology best.<br><br></div></div></blockquote></div>
</div></div>