From: Chandler Carruth Date: Sat, 17 Jan 2015 14:16:56 +0000 (+0000) Subject: [PM] Update Polly following LLVM r226373 which refactors LoopInfo in X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f557987b155cc9bf88ad1e497cf796b3c193d12e;p=platform%2Fupstream%2Fllvm.git [PM] Update Polly following LLVM r226373 which refactors LoopInfo in preparation for the new pass manager. llvm-svn: 226374 --- diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp index abcf2c1..672194c 100644 --- a/polly/lib/Analysis/ScopDetection.cpp +++ b/polly/lib/Analysis/ScopDetection.cpp @@ -889,7 +889,7 @@ void ScopDetection::emitMissedRemarksForLeaves(const Function &F, } bool ScopDetection::runOnFunction(llvm::Function &F) { - LI = &getAnalysis(); + LI = &getAnalysis().getLoopInfo(); RI = &getAnalysis().getRegionInfo(); if (!DetectScopsWithoutLoops && LI->empty()) return false; @@ -940,7 +940,7 @@ void polly::ScopDetection::verifyAnalysis() const { void ScopDetection::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired(); AU.addRequired(); - AU.addRequired(); + AU.addRequired(); AU.addRequired(); // We also need AA and RegionInfo when we are verifying analysis. AU.addRequiredTransitive(); @@ -971,7 +971,7 @@ INITIALIZE_PASS_BEGIN(ScopDetection, "polly-detect", false); INITIALIZE_AG_DEPENDENCY(AliasAnalysis); INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass); -INITIALIZE_PASS_DEPENDENCY(LoopInfo); +INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass); INITIALIZE_PASS_DEPENDENCY(PostDominatorTree); INITIALIZE_PASS_DEPENDENCY(RegionInfoPass); INITIALIZE_PASS_DEPENDENCY(ScalarEvolution); diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp index e74aa17..71529e5 100644 --- a/polly/lib/Analysis/ScopInfo.cpp +++ b/polly/lib/Analysis/ScopInfo.cpp @@ -1870,7 +1870,7 @@ ScopInfo::~ScopInfo() { } void ScopInfo::getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequired(); + AU.addRequired(); AU.addRequired(); AU.addRequired(); AU.addRequired(); @@ -1879,7 +1879,7 @@ void ScopInfo::getAnalysisUsage(AnalysisUsage &AU) const { } bool ScopInfo::runOnRegion(Region *R, RGPassManager &RGM) { - LoopInfo &LI = getAnalysis(); + LoopInfo &LI = getAnalysis().getLoopInfo(); AliasAnalysis &AA = getAnalysis(); ScalarEvolution &SE = getAnalysis(); @@ -1932,7 +1932,7 @@ INITIALIZE_PASS_BEGIN(ScopInfo, "polly-scops", "Polly - Create polyhedral description of Scops", false, false); INITIALIZE_AG_DEPENDENCY(AliasAnalysis); -INITIALIZE_PASS_DEPENDENCY(LoopInfo); +INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass); INITIALIZE_PASS_DEPENDENCY(RegionInfoPass); INITIALIZE_PASS_DEPENDENCY(ScalarEvolution); INITIALIZE_PASS_DEPENDENCY(TempScopInfo); diff --git a/polly/lib/Analysis/TempScopInfo.cpp b/polly/lib/Analysis/TempScopInfo.cpp index 6f7a9d9..09f6dd2 100644 --- a/polly/lib/Analysis/TempScopInfo.cpp +++ b/polly/lib/Analysis/TempScopInfo.cpp @@ -336,7 +336,7 @@ bool TempScopInfo::runOnFunction(Function &F) { DT = &getAnalysis().getDomTree(); PDT = &getAnalysis(); SE = &getAnalysis(); - LI = &getAnalysis(); + LI = &getAnalysis().getLoopInfo(); SD = &getAnalysis(); AA = &getAnalysis(); TD = &getAnalysis().getDataLayout(); @@ -356,7 +356,7 @@ void TempScopInfo::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired(); AU.addRequiredTransitive(); AU.addRequiredTransitive(); - AU.addRequiredTransitive(); + AU.addRequiredTransitive(); AU.addRequiredTransitive(); AU.addRequiredTransitive(); AU.addRequiredID(IndependentBlocksID); @@ -384,7 +384,7 @@ INITIALIZE_PASS_BEGIN(TempScopInfo, "polly-analyze-ir", false, false); INITIALIZE_AG_DEPENDENCY(AliasAnalysis); INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass); -INITIALIZE_PASS_DEPENDENCY(LoopInfo); +INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass); INITIALIZE_PASS_DEPENDENCY(PostDominatorTree); INITIALIZE_PASS_DEPENDENCY(RegionInfoPass); INITIALIZE_PASS_DEPENDENCY(ScalarEvolution); diff --git a/polly/lib/CodeGen/BlockGenerators.cpp b/polly/lib/CodeGen/BlockGenerators.cpp index 4c0762c..05b95e2 100644 --- a/polly/lib/CodeGen/BlockGenerators.cpp +++ b/polly/lib/CodeGen/BlockGenerators.cpp @@ -214,8 +214,8 @@ void BlockGenerator::copyInstruction(const Instruction *Inst, ValueMapT &BBMap, if (Inst->isTerminator()) return; - if (canSynthesize(Inst, &P->getAnalysis(), &SE, - &Statement.getParent()->getRegion())) + if (canSynthesize(Inst, &P->getAnalysis().getLoopInfo(), + &SE, &Statement.getParent()->getRegion())) return; if (const LoadInst *Load = dyn_cast(Inst)) { @@ -539,8 +539,8 @@ void VectorBlockGenerator::copyInstruction(const Instruction *Inst, if (Inst->isTerminator()) return; - if (canSynthesize(Inst, &P->getAnalysis(), &SE, - &Statement.getParent()->getRegion())) + if (canSynthesize(Inst, &P->getAnalysis().getLoopInfo(), + &SE, &Statement.getParent()->getRegion())) return; if (const LoadInst *Load = dyn_cast(Inst)) { diff --git a/polly/lib/CodeGen/IslCodeGeneration.cpp b/polly/lib/CodeGen/IslCodeGeneration.cpp index 4087c84..401c005 100644 --- a/polly/lib/CodeGen/IslCodeGeneration.cpp +++ b/polly/lib/CodeGen/IslCodeGeneration.cpp @@ -912,7 +912,7 @@ public: } bool runOnScop(Scop &S) { - LI = &getAnalysis(); + LI = &getAnalysis().getLoopInfo(); AI = &getAnalysis(); DT = &getAnalysis().getDomTree(); SE = &getAnalysis(); @@ -949,11 +949,11 @@ public: AU.addRequired(); AU.addRequired(); AU.addRequired(); - AU.addRequired(); + AU.addRequired(); AU.addPreserved(); - AU.addPreserved(); + AU.addPreserved(); AU.addPreserved(); AU.addPreserved(); AU.addPreserved(); @@ -977,7 +977,7 @@ INITIALIZE_PASS_BEGIN(IslCodeGeneration, "polly-codegen-isl", "Polly - Create LLVM-IR from SCoPs", false, false); INITIALIZE_PASS_DEPENDENCY(Dependences); INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass); -INITIALIZE_PASS_DEPENDENCY(LoopInfo); +INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass); INITIALIZE_PASS_DEPENDENCY(RegionInfoPass); INITIALIZE_PASS_DEPENDENCY(ScalarEvolution); INITIALIZE_PASS_DEPENDENCY(ScopDetection); diff --git a/polly/lib/CodeGen/Utils.cpp b/polly/lib/CodeGen/Utils.cpp index 8ea9a4a..c9b1d71 100644 --- a/polly/lib/CodeGen/Utils.cpp +++ b/polly/lib/CodeGen/Utils.cpp @@ -26,7 +26,7 @@ BasicBlock *polly::executeScopConditionally(Scop &S, Pass *P, Value *RTC) { PollyIRBuilder Builder(R.getEntry()); DominatorTree &DT = P->getAnalysis().getDomTree(); RegionInfo &RI = P->getAnalysis().getRegionInfo(); - LoopInfo &LI = P->getAnalysis(); + LoopInfo &LI = P->getAnalysis().getLoopInfo(); // Split the entry edge of the region and generate a new basic block on this // edge. This function also updates ScopInfo and RegionInfo. diff --git a/polly/lib/Transform/CodePreparation.cpp b/polly/lib/Transform/CodePreparation.cpp index 67e111b..5847c69 100644 --- a/polly/lib/Transform/CodePreparation.cpp +++ b/polly/lib/Transform/CodePreparation.cpp @@ -191,17 +191,17 @@ bool CodePreparation::eliminatePHINodes(Function &F) { } void CodePreparation::getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequired(); + AU.addRequired(); AU.addRequired(); - AU.addPreserved(); + AU.addPreserved(); AU.addPreserved(); AU.addPreserved(); AU.addPreserved(); } bool CodePreparation::runOnFunction(Function &F) { - LI = &getAnalysis(); + LI = &getAnalysis().getLoopInfo(); SE = &getAnalysis(); splitEntryBlockForAlloca(&F.getEntryBlock(), this); @@ -222,6 +222,6 @@ Pass *polly::createCodePreparationPass() { return new CodePreparation(); } INITIALIZE_PASS_BEGIN(CodePreparation, "polly-prepare", "Polly - Prepare code for polly", false, false) -INITIALIZE_PASS_DEPENDENCY(LoopInfo) +INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass) INITIALIZE_PASS_END(CodePreparation, "polly-prepare", "Polly - Prepare code for polly", false, false) diff --git a/polly/lib/Transform/IndependentBlocks.cpp b/polly/lib/Transform/IndependentBlocks.cpp index f74c4b8..73631150 100644 --- a/polly/lib/Transform/IndependentBlocks.cpp +++ b/polly/lib/Transform/IndependentBlocks.cpp @@ -498,8 +498,8 @@ void IndependentBlocks::getAnalysisUsage(AnalysisUsage &AU) const { AU.addPreserved(); AU.addRequired(); AU.addPreserved(); - AU.addRequired(); - AU.addPreserved(); + AU.addRequired(); + AU.addPreserved(); AU.addRequired(); AU.addPreserved(); AU.addRequired(); @@ -510,7 +510,7 @@ bool IndependentBlocks::runOnFunction(llvm::Function &F) { bool Changed = false; RI = &getAnalysis().getRegionInfo(); - LI = &getAnalysis(); + LI = &getAnalysis().getLoopInfo(); SD = &getAnalysis(); SE = &getAnalysis(); @@ -555,7 +555,7 @@ Pass *polly::createIndependentBlocksPass() { return new IndependentBlocks(); } INITIALIZE_PASS_BEGIN(IndependentBlocks, "polly-independent", "Polly - Create independent blocks", false, false); -INITIALIZE_PASS_DEPENDENCY(LoopInfo); +INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass); INITIALIZE_PASS_DEPENDENCY(RegionInfoPass); INITIALIZE_PASS_DEPENDENCY(ScalarEvolution); INITIALIZE_PASS_DEPENDENCY(ScopDetection);