Call doInitialization(), releaseMemory(), and doFinalization() for on-the-fly passes...
[oota-llvm.git] / lib / Analysis / LoopPass.cpp
index 08c25f4ceae478aaf90c9523cf87d7f7424dd722..ee03556f27412d98f3e1fafa9afcec7ec65ffeaf 100644 (file)
@@ -195,6 +195,9 @@ bool LPPassManager::runOnFunction(Function &F) {
   for (LoopInfo::iterator I = LI->begin(), E = LI->end(); I != E; ++I)
     addLoopIntoQueue(*I, LQ);
 
+  if (LQ.empty()) // No loops, skip calling finalizers
+    return false;
+
   // Initialization
   for (std::deque<Loop *>::const_iterator I = LQ.begin(), E = LQ.end();
        I != E; ++I) {