projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Access the TargetLoweringInfo from the TargetMachine object instead of caching it...
[oota-llvm.git]
/
lib
/
Transforms
/
Scalar
/
CodeGenPrepare.cpp
diff --git
a/lib/Transforms/Scalar/CodeGenPrepare.cpp
b/lib/Transforms/Scalar/CodeGenPrepare.cpp
index f0d29c88a82ea91613e7d620b73a9010b6abeb8f..ec8491f1a931522c991df5705a72941ef0b06b7a 100644
(file)
--- a/
lib/Transforms/Scalar/CodeGenPrepare.cpp
+++ b/
lib/Transforms/Scalar/CodeGenPrepare.cpp
@@
-76,6
+76,7
@@
namespace {
class CodeGenPrepare : public FunctionPass {
/// TLI - Keep a pointer of a TargetLowering to consult for determining
/// transformation profitability.
class CodeGenPrepare : public FunctionPass {
/// TLI - Keep a pointer of a TargetLowering to consult for determining
/// transformation profitability.
+ const TargetMachine *TM;
const TargetLowering *TLI;
const TargetLibraryInfo *TLInfo;
DominatorTree *DT;
const TargetLowering *TLI;
const TargetLibraryInfo *TLInfo;
DominatorTree *DT;
@@
-100,8
+101,8
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- explicit CodeGenPrepare(const Target
Lowering *tli
= 0)
- : FunctionPass(ID), T
LI(tli
) {
+ explicit CodeGenPrepare(const Target
Machine *TM
= 0)
+ : FunctionPass(ID), T
M(TM), TLI(0
) {
initializeCodeGenPreparePass(*PassRegistry::getPassRegistry());
}
bool runOnFunction(Function &F);
initializeCodeGenPreparePass(*PassRegistry::getPassRegistry());
}
bool runOnFunction(Function &F);
@@
-139,14
+140,15
@@
INITIALIZE_PASS_DEPENDENCY(TargetLibraryInfo)
INITIALIZE_PASS_END(CodeGenPrepare, "codegenprepare",
"Optimize for code generation", false, false)
INITIALIZE_PASS_END(CodeGenPrepare, "codegenprepare",
"Optimize for code generation", false, false)
-FunctionPass *llvm::createCodeGenPreparePass(const Target
Lowering *TLI
) {
- return new CodeGenPrepare(T
LI
);
+FunctionPass *llvm::createCodeGenPreparePass(const Target
Machine *TM
) {
+ return new CodeGenPrepare(T
M
);
}
bool CodeGenPrepare::runOnFunction(Function &F) {
bool EverMadeChange = false;
ModifiedDT = false;
}
bool CodeGenPrepare::runOnFunction(Function &F) {
bool EverMadeChange = false;
ModifiedDT = false;
+ if (TM) TLI = TM->getTargetLowering();
TLInfo = &getAnalysis<TargetLibraryInfo>();
DT = getAnalysisIfAvailable<DominatorTree>();
PFI = getAnalysisIfAvailable<ProfileInfo>();
TLInfo = &getAnalysis<TargetLibraryInfo>();
DT = getAnalysisIfAvailable<DominatorTree>();
PFI = getAnalysisIfAvailable<ProfileInfo>();