projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[X86][Haswell][SchedModel] Add architecture specific scheduling models.
[oota-llvm.git]
/
lib
/
Analysis
/
LoopPass.cpp
diff --git
a/lib/Analysis/LoopPass.cpp
b/lib/Analysis/LoopPass.cpp
index 38e753f129e9393f9175d5c2c5ed0c897278c840..7bd866e73e10f370100e06ce148f34876deb60b6 100644
(file)
--- a/
lib/Analysis/LoopPass.cpp
+++ b/
lib/Analysis/LoopPass.cpp
@@
-15,10
+15,13
@@
#include "llvm/Analysis/LoopPass.h"
#include "llvm/IR/IRPrintingPasses.h"
#include "llvm/Analysis/LoopPass.h"
#include "llvm/IR/IRPrintingPasses.h"
+#include "llvm/IR/LLVMContext.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Timer.h"
using namespace llvm;
#include "llvm/Support/Debug.h"
#include "llvm/Support/Timer.h"
using namespace llvm;
+#define DEBUG_TYPE "loop-pass-manager"
+
namespace {
/// PrintLoopPass - Print a Function corresponding to a Loop.
namespace {
/// PrintLoopPass - Print a Function corresponding to a Loop.
@@
-42,7
+45,10
@@
public:
for (Loop::block_iterator b = L->block_begin(), be = L->block_end();
b != be;
++b) {
for (Loop::block_iterator b = L->block_begin(), be = L->block_end();
b != be;
++b) {
- (*b)->print(Out);
+ if (*b)
+ (*b)->print(Out);
+ else
+ Out << "Printing <null> block";
}
return false;
}
}
return false;
}
@@
-61,8
+67,8
@@
LPPassManager::LPPassManager()
: FunctionPass(ID), PMDataManager() {
skipThisLoop = false;
redoThisLoop = false;
: FunctionPass(ID), PMDataManager() {
skipThisLoop = false;
redoThisLoop = false;
- LI =
NULL
;
- CurrentLoop =
NULL
;
+ LI =
nullptr
;
+ CurrentLoop =
nullptr
;
}
/// Delete loop from the loop queue and loop hierarchy (LoopInfo).
}
/// Delete loop from the loop queue and loop hierarchy (LoopInfo).
@@
-251,6
+257,8
@@
bool LPPassManager::runOnFunction(Function &F) {
// Then call the regular verifyAnalysis functions.
verifyPreservedAnalysis(P);
// Then call the regular verifyAnalysis functions.
verifyPreservedAnalysis(P);
+
+ F.getContext().yield();
}
removeNotPreservedAnalysis(P);
}
removeNotPreservedAnalysis(P);