summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineBlockPlacement.cpp
diff options
context:
space:
mode:
authorKyle Butt <kyle+llvm@iteratee.net>2017-02-23 21:22:24 +0000
committerKyle Butt <kyle+llvm@iteratee.net>2017-02-23 21:22:24 +0000
commitebe6cc4dadf64b64a8f93ae8e2c94203ae8520ac (patch)
treea2b69762b7540aa9ffc52d29fa63867e528c7abd /llvm/lib/CodeGen/MachineBlockPlacement.cpp
parent41b019a39c184a121f758420e22075ee82330f0b (diff)
downloadbcm5719-llvm-ebe6cc4dadf64b64a8f93ae8e2c94203ae8520ac.tar.gz
bcm5719-llvm-ebe6cc4dadf64b64a8f93ae8e2c94203ae8520ac.zip
CodeGen: MachineBlockPlacement: Rename member to more general name. NFC.
Rename ComputedTrellisEdges to ComputedEdges to allow for other methods of pre-computing edges. Differential Revision: https://reviews.llvm.org/D30308 llvm-svn: 296018
Diffstat (limited to 'llvm/lib/CodeGen/MachineBlockPlacement.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineBlockPlacement.cpp24
1 files changed, 11 insertions, 13 deletions
diff --git a/llvm/lib/CodeGen/MachineBlockPlacement.cpp b/llvm/lib/CodeGen/MachineBlockPlacement.cpp
index b7ab25b87ea..889ccf0f196 100644
--- a/llvm/lib/CodeGen/MachineBlockPlacement.cpp
+++ b/llvm/lib/CodeGen/MachineBlockPlacement.cpp
@@ -309,8 +309,8 @@ class MachineBlockPlacement : public MachineFunctionPass {
SmallVector<MachineBasicBlock *, 16> BlockWorkList;
SmallVector<MachineBasicBlock *, 16> EHPadWorkList;
- /// Edges that have already been computed as optimal by the trellis code.
- DenseMap<const MachineBasicBlock *, MachineBasicBlock *> ComputedTrellisEdges;
+ /// Edges that have already been computed as optimal.
+ DenseMap<const MachineBasicBlock *, BlockAndTailDupResult> ComputedEdges;
/// \brief Machine Function
MachineFunction *F;
@@ -993,7 +993,7 @@ MachineBlockPlacement::getBestTrellisSuccessor(
}
// We have already computed the optimal edge for the other side of the
// trellis.
- ComputedTrellisEdges[BestB.Src] = BestB.Dest;
+ ComputedEdges[BestB.Src] = { BestB.Dest, false };
auto TrellisSucc = BestA.Dest;
DEBUG(BranchProbability SuccProb = getAdjustedProbability(
@@ -1329,18 +1329,16 @@ MachineBlockPlacement::selectBestSuccessor(
DEBUG(dbgs() << "Selecting best successor for: " << getBlockName(BB) << "\n");
- // if we already precomputed the best successor for BB as part of a trellis we
- // saw earlier, return that if still applicable.
- auto FoundEdge = ComputedTrellisEdges.find(BB);
- if (FoundEdge != ComputedTrellisEdges.end()) {
- MachineBasicBlock *Succ = FoundEdge->second;
- ComputedTrellisEdges.erase(FoundEdge);
+ // if we already precomputed the best successor for BB, return that if still
+ // applicable.
+ auto FoundEdge = ComputedEdges.find(BB);
+ if (FoundEdge != ComputedEdges.end()) {
+ MachineBasicBlock *Succ = FoundEdge->second.BB;
+ ComputedEdges.erase(FoundEdge);
BlockChain *SuccChain = BlockToChain[Succ];
if (BB->isSuccessor(Succ) && (!BlockFilter || BlockFilter->count(Succ)) &&
- SuccChain != &Chain && Succ == *SuccChain->begin()) {
- BestSucc.BB = Succ;
- return BestSucc;
- }
+ SuccChain != &Chain && Succ == *SuccChain->begin())
+ return FoundEdge->second;
}
// if BB is part of a trellis, Use the trellis to determine the optimal
OpenPOWER on IntegriCloud