[PATCH] D30308: CodeGen: MachineBlockPlacement: Rename member to more general name. NFC.

Kyle Butt via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 23 12:46:20 PST 2017


iteratee created this revision.

Rename ComputedTrellisEdges to ComputedEdges to allow for other methods of
pre-computing edges.


Repository:
  rL LLVM

https://reviews.llvm.org/D30308

Files:
  lib/CodeGen/MachineBlockPlacement.cpp


Index: lib/CodeGen/MachineBlockPlacement.cpp
===================================================================
--- lib/CodeGen/MachineBlockPlacement.cpp
+++ lib/CodeGen/MachineBlockPlacement.cpp
@@ -309,8 +309,8 @@
   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 @@
   }
   // 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 @@
 
   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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30308.89549.patch
Type: text/x-patch
Size: 2132 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170223/4318dca2/attachment.bin>


More information about the llvm-commits mailing list