IdempotentOperationsChecker has suffered from several known limitations for a 
while, but the addition of interprocedural analysis has certainly compounded 
the issues.  I had thought about it at the time when we added interprocedural 
analysis, but it never became a pressing action item.

This checker has been in the alpha state for a couple years now.  Making it 
real is going to take a lot of work beyond just fixing these immediate issues.  
I think we should just go and remove it entirely.  If we want to resuscitate it 
one day we can.

On Dec 19, 2013, at 9:02 AM, Jordan Rose <[email protected]> wrote:

> 
>  Aha, of course. Unfortunately, this means that the IdempotentOperations 
> checker is even more broken than we thought, because it tries to make claims 
> about inlined functions.
> 
>  I like the assert, but I don't think perpetuating the brokenness is a good 
> idea. With this fix, any blocks that were in an inlined function will not be 
> considered reachable from a path through the caller, even though they might 
> be. Worse, and independent of this issue, is the fact that within an inlined 
> function we only see one path, and the checker might mistakenly take that to 
> be the only possible path.
> 
>  If we just throw out inlined functions altogether, it might start making 
> sense, but then you don't get very good coverage.
> 
> http://llvm-reviews.chandlerc.com/D2427

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to