<div dir="ltr">This patch makes the <span style="color:rgb(0,0,0)">deadcode.DeadStores analyzer hang on this file: </span><a href="https://code.google.com/p/dynamorio/source/browse/trunk/core/options.c">https://code.google.com/p/dynamorio/source/browse/trunk/core/options.c</a><div>
<br></div><div>The relevant part of stack trace looks like this:</div><div><pre style="color:rgb(0,0,0)">  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&)</pre><div><div class="gmail_extra">
Did you notice that the DataflowWorklist class was a bit different in these two classes? Notably, the dequeue method and initialization of the <span style="font-family:arial,sans-serif;font-size:13px">enqueuedBlocks bit-vector.</span></div>
<div class="gmail_extra"><font face="arial, sans-serif"><br></font></div><div class="gmail_extra"><font face="arial, sans-serif">Please fix or revert the patch.</font></div><div class="gmail_extra"><font face="arial, sans-serif"><br>
</font></div><div class="gmail_extra"><font face="arial, sans-serif">Thank you!<br></font><br><div class="gmail_quote">On Tue, Jul 29, 2014 at 6:27 PM, 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hal, thank you for the suggestion! I've expanded that comment four-fold in r214183.<br>

<br>
Ted, thank you for reviewing the original patch, and no worries it took a while.<br>
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.<br>
<div class="im"><br>
<br>
-----Original Message-----<br>
From: Hal Finkel [mailto:<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>]<br>
Sent: 28 July 2014 13:12<br>
To: Artyom Skrobov<br>
Cc: <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
Subject: Re: r214064 - Factoring DataflowWorklist out of LiveVariables and UninitializedValues analyses<br>
<br>
<br>
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.<br>

<br>
 -Hal<br>
<br>
<br>
<br>
<br>
<br>
</div><div class=""><div class="h5">_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br><br>
</div></div></div></div>