[PATCH] Inverse post-order traversal for LiveVariables analysis, to recover the performance after r214064
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?
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>
> 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