mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-14 23:10:54 +00:00
[PM] Update Polly for LLVM r226459 which removed another pass argument
from an API in the process of preparing for the new pass manager. llvm-svn: 226460
This commit is contained in:
parent
d450056c78
commit
62975f55c8
@ -30,7 +30,7 @@ BasicBlock *polly::executeScopConditionally(Scop &S, Pass *P, Value *RTC) {
|
||||
|
||||
// Split the entry edge of the region and generate a new basic block on this
|
||||
// edge. This function also updates ScopInfo and RegionInfo.
|
||||
NewBlock = SplitEdge(R.getEnteringBlock(), R.getEntry(), P);
|
||||
NewBlock = SplitEdge(R.getEnteringBlock(), R.getEntry(), &DT, &LI);
|
||||
if (DT.dominates(R.getEntry(), NewBlock)) {
|
||||
BasicBlock *OldBlock = R.getEntry();
|
||||
std::string OldName = OldBlock->getName();
|
||||
@ -71,7 +71,7 @@ BasicBlock *polly::executeScopConditionally(Scop &S, Pass *P, Value *RTC) {
|
||||
// PHI nodes that would complicate life.
|
||||
MergeBlock = R.getExit();
|
||||
else {
|
||||
MergeBlock = SplitEdge(R.getExitingBlock(), R.getExit(), P);
|
||||
MergeBlock = SplitEdge(R.getExitingBlock(), R.getExit(), &DT, &LI);
|
||||
// SplitEdge will never split R.getExit(), as R.getExit() has more than
|
||||
// one predecessor. Hence, mergeBlock is always a newly generated block.
|
||||
R.replaceExitRecursive(MergeBlock);
|
||||
|
@ -115,13 +115,13 @@ BasicBlock *polly::simplifyRegion(Scop *S, Pass *P) {
|
||||
BasicBlock *OldEntry = R->getEntry();
|
||||
BasicBlock *NewEntry = nullptr;
|
||||
|
||||
auto *DTWP = P->getAnalysisIfAvailable<DominatorTreeWrapperPass>();
|
||||
auto *DT = DTWP ? &DTWP->getDomTree() : nullptr;
|
||||
auto *LIWP = P->getAnalysisIfAvailable<LoopInfoWrapperPass>();
|
||||
auto *LI = LIWP ? &LIWP->getLoopInfo() : nullptr;
|
||||
|
||||
// Create single entry edge if the region has multiple entry edges.
|
||||
if (!EnteringBB) {
|
||||
auto *DTWP = P->getAnalysisIfAvailable<DominatorTreeWrapperPass>();
|
||||
auto *DT = DTWP ? &DTWP->getDomTree() : nullptr;
|
||||
auto *LIWP = P->getAnalysisIfAvailable<LoopInfoWrapperPass>();
|
||||
auto *LI = LIWP ? &LIWP->getLoopInfo() : nullptr;
|
||||
|
||||
NewEntry = SplitBlock(OldEntry, OldEntry->begin(), DT, LI);
|
||||
EnteringBB = OldEntry;
|
||||
}
|
||||
@ -129,7 +129,7 @@ BasicBlock *polly::simplifyRegion(Scop *S, Pass *P) {
|
||||
// Create an unconditional entry edge.
|
||||
if (EnteringBB->getTerminator()->getNumSuccessors() != 1) {
|
||||
BasicBlock *EntryBB = NewEntry ? NewEntry : OldEntry;
|
||||
BasicBlock *SplitEdgeBB = SplitEdge(EnteringBB, EntryBB, P);
|
||||
BasicBlock *SplitEdgeBB = SplitEdge(EnteringBB, EntryBB, DT, LI);
|
||||
|
||||
// Once the edge between EnteringBB and EntryBB is split, two cases arise.
|
||||
// The first is simple. The new block is inserted between EnteringBB and
|
||||
|
Loading…
x
Reference in New Issue
Block a user