projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Call doInitialization(), releaseMemory(), and doFinalization() for on-the-fly passes...
[oota-llvm.git]
/
lib
/
Analysis
/
LoopPass.cpp
diff --git
a/lib/Analysis/LoopPass.cpp
b/lib/Analysis/LoopPass.cpp
index 08c25f4ceae478aaf90c9523cf87d7f7424dd722..ee03556f27412d98f3e1fafa9afcec7ec65ffeaf 100644
(file)
--- a/
lib/Analysis/LoopPass.cpp
+++ b/
lib/Analysis/LoopPass.cpp
@@
-195,6
+195,9
@@
bool LPPassManager::runOnFunction(Function &F) {
for (LoopInfo::iterator I = LI->begin(), E = LI->end(); I != E; ++I)
addLoopIntoQueue(*I, LQ);
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) {
// Initialization
for (std::deque<Loop *>::const_iterator I = LQ.begin(), E = LQ.end();
I != E; ++I) {