From a273d1cd3ab048c881079c1ac95fe155ec57f74d Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Thu, 19 Jul 2007 18:02:32 +0000 Subject: Verify loop info. llvm-svn: 40062 --- llvm/lib/Analysis/LoopInfo.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'llvm/lib/Analysis/LoopInfo.cpp') diff --git a/llvm/lib/Analysis/LoopInfo.cpp b/llvm/lib/Analysis/LoopInfo.cpp index d58f90df1e4..8f9b43fa864 100644 --- a/llvm/lib/Analysis/LoopInfo.cpp +++ b/llvm/lib/Analysis/LoopInfo.cpp @@ -81,6 +81,18 @@ void Loop::print(std::ostream &OS, unsigned Depth) const { (*I)->print(OS, Depth+2); } +/// verifyLoop - Verify loop structure +void Loop::verifyLoop() const { +#ifndef NDEBUG + assert (getHeader() && "Loop header is missing"); + assert (getLoopPreheader() && "Loop preheader is missing"); + assert (getLoopLatch() && "Loop latch is missing"); + for (std::vector::const_iterator I = SubLoops.begin(), E = SubLoops.end(); + I != E; ++I) + (*I)->verifyLoop(); +#endif +} + void Loop::dump() const { print(cerr); } @@ -104,7 +116,6 @@ void LoopInfo::releaseMemory() { TopLevelLoops.clear(); } - void LoopInfo::Calculate(DominatorTree &DT) { BasicBlock *RootNode = DT.getRootNode()->getBlock(); -- cgit v1.2.3