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

Artyom Skrobov Artyom.Skrobov at arm.com
Fri Aug 15 01:38:01 PDT 2014


Many thanks -- committed as r215650

Alexander, can you confirm that the analyzer performance is now acceptable
for your use cases?


-----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.







More information about the cfe-commits mailing list