r214064 - Factoring DataflowWorklist out of LiveVariables and UninitializedValues analyses

Alexander Kornienko alexfh at google.com
Mon Aug 4 05:25:03 PDT 2014


On Mon, Aug 4, 2014 at 2:22 PM, Alexander Kornienko <alexfh at google.com>
wrote:

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

I meant, "files" (UninitializedValues.cpp and LiveVariables.cpp), not
"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/4938df7d/attachment.html>


More information about the cfe-commits mailing list