SuccessChanges

Summary

  1. [Analysis] Print out unreachable loops Summary: When writing a loop pass I made a mistake and hit the assertion "Unreachable block in loop". Later, I hit an assertion when I called `BasicBlock::eraseFromParent()` incorrectly: "Use still stuck around after Def is destroyed". This latter assertion, however, printed out exactly which value is being deleted and what uses remain, which helped me debug the issue. To help people debugging their loop passes in the future, print out exactly which basic block is unreachable in a loop. Reviewers: sanjoy, hfinkel, mehdi_amini Reviewed By: mehdi_amini Subscribers: mzolotukhin Differential Revision: https://reviews.llvm.org/D32878
Revision 302354 by modocache:
[Analysis] Print out unreachable loops

Summary:
When writing a loop pass I made a mistake and hit the assertion
"Unreachable block in loop". Later, I hit an assertion when I called
`BasicBlock::eraseFromParent()` incorrectly: "Use still stuck around
after Def is destroyed". This latter assertion, however, printed out
exactly which value is being deleted and what uses remain, which helped
me debug the issue.

To help people debugging their loop passes in the future, print out
exactly which basic block is unreachable in a loop.

Reviewers: sanjoy, hfinkel, mehdi_amini

Reviewed By: mehdi_amini

Subscribers: mzolotukhin

Differential Revision: https://reviews.llvm.org/D32878
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/LoopInfoImpl.h (diff)llvm-revision.src/llvm/trunk/include/llvm/Analysis/LoopInfoImpl.h