|
@@ -399,6 +399,7 @@ bool CallAnalyzer::visitBitCast(BitCastInst &I) {
|
|
|
}
|
|
|
|
|
|
bool CallAnalyzer::visitPtrToInt(PtrToIntInst &I) {
|
|
|
+ const DataLayout *DL = I.getDataLayout();
|
|
|
// Propagate constants through ptrtoint.
|
|
|
Constant *COp = dyn_cast<Constant>(I.getOperand(0));
|
|
|
if (!COp)
|
|
@@ -435,6 +436,7 @@ bool CallAnalyzer::visitPtrToInt(PtrToIntInst &I) {
|
|
|
}
|
|
|
|
|
|
bool CallAnalyzer::visitIntToPtr(IntToPtrInst &I) {
|
|
|
+ const DataLayout *DL = I.getDataLayout();
|
|
|
// Propagate constants through ptrtoint.
|
|
|
Constant *COp = dyn_cast<Constant>(I.getOperand(0));
|
|
|
if (!COp)
|
|
@@ -1203,7 +1205,7 @@ INITIALIZE_PASS_END(InlineCostAnalysis, "inline-cost", "Inline Cost Analysis",
|
|
|
|
|
|
char InlineCostAnalysis::ID = 0;
|
|
|
|
|
|
-InlineCostAnalysis::InlineCostAnalysis() : CallGraphSCCPass(ID), DL(0) {}
|
|
|
+InlineCostAnalysis::InlineCostAnalysis() : CallGraphSCCPass(ID) {}
|
|
|
|
|
|
InlineCostAnalysis::~InlineCostAnalysis() {}
|
|
|
|
|
@@ -1214,8 +1216,6 @@ void InlineCostAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
|
|
|
}
|
|
|
|
|
|
bool InlineCostAnalysis::runOnSCC(CallGraphSCC &SCC) {
|
|
|
- DataLayoutPass *DLP = getAnalysisIfAvailable<DataLayoutPass>();
|
|
|
- DL = DLP ? &DLP->getDataLayout() : 0;
|
|
|
TTI = &getAnalysis<TargetTransformInfo>();
|
|
|
return false;
|
|
|
}
|
|
@@ -1273,7 +1273,7 @@ InlineCost InlineCostAnalysis::getInlineCost(CallSite CS, Function *Callee,
|
|
|
DEBUG(llvm::dbgs() << " Analyzing call of " << Callee->getName()
|
|
|
<< "...\n");
|
|
|
|
|
|
- CallAnalyzer CA(DL, *TTI, *Callee, Threshold);
|
|
|
+ CallAnalyzer CA(Callee->getDataLayout(), *TTI, *Callee, Threshold);
|
|
|
bool ShouldInline = CA.analyzeCall(CS);
|
|
|
|
|
|
DEBUG(CA.dump());
|