r214064 - Factoring DataflowWorklist out of LiveVariables and UninitializedValues analyses

Alexander Kornienko alexfh at google.com
Mon Aug 4 05:22:26 PDT 2014


This patch makes the deadcode.DeadStores analyzer hang on this file:
https://code.google.com/p/dynamorio/source/browse/trunk/core/options.c

The relevant part of stack trace looks like this:

  0x00e189ed: llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::Stmt
const*> >::balanceTree(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::Stmt
const*> >*, clang::Stmt const*,
llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::Stmt const*> >*)
  0x00e18d2e: llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::Stmt
const*> >::add_internal(clang::Stmt const*,
llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::Stmt const*> >*)
  0x00e18ec5: llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::Stmt
const*> >::add_internal(clang::Stmt const*,
llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::Stmt const*> >*)
  0x00e1b292: llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::Stmt
const*> >::add(llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::Stmt
const*> >*, clang::Stmt const*)
  0x00e1f2d1: clang::LiveVariables::computeLiveness(clang::AnalysisDeclContext&,
bool)
  0x00673969: void
clang::ento::check::ASTCodeBody::_checkBody<(anonymous
namespace)::DeadStoresChecker>(void*, clang::Decl const*,
clang::ento::AnalysisManager&, clang::ento::BugReporter&)

Did you notice that the DataflowWorklist class was a bit different in these
two classes? Notably, the dequeue method and initialization of the
enqueuedBlocks
bit-vector.

Please fix or revert the patch.

Thank you!

On Tue, Jul 29, 2014 at 6:27 PM, Artyom Skrobov <Artyom.Skrobov at arm.com>
wrote:

> Hal, thank you for the suggestion! I've expanded that comment four-fold in
> r214183.
>
> Ted, thank you for reviewing the original patch, and no worries it took a
> while.
> You might want to also check that the comments I've added when committing
> r214064 are correct -- although they're essentially a rephrasing of
> comments from your own emails.
>
>
> -----Original Message-----
> From: Hal Finkel [mailto:hfinkel at anl.gov]
> Sent: 28 July 2014 13:12
> To: Artyom Skrobov
> Cc: cfe-commits at cs.uiuc.edu
> Subject: Re: r214064 - Factoring DataflowWorklist out of LiveVariables and
> UninitializedValues analyses
>
>
> We should have a description here of what this code does, not just where
> it's used. One can get some idea by reading the comments above
> DataflowWorklist::enqueueSuccessors in the source file, but it is not clear
> that gives a complete picture.
>
>  -Hal
>
>
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140804/f5d8a743/attachment.html>


More information about the cfe-commits mailing list