[llvm] [VPlan] Implement cloning of VPlans. (PR #73158)

via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 14 11:11:42 PST 2024


================
@@ -982,6 +994,65 @@ void VPlan::updateDominatorTree(DominatorTree *DT, BasicBlock *LoopHeaderBB,
   assert(DT->verify(DominatorTree::VerificationLevel::Fast));
 }
 
+static void remapVPValues(VPBasicBlock *OldBB, VPBasicBlock *NewBB,
+                          DenseMap<VPValue *, VPValue *> &Old2NewVPValues,
+                          bool Full = false) {
+  for (const auto &[OldR, NewR] : zip(*OldBB, *NewBB)) {
+    for (unsigned I = 0, E = NewR.getNumOperands(); I != E; ++I) {
+      VPValue *NewOp = Old2NewVPValues.lookup(OldR.getOperand(I));
+      if (!Full)
----------------
ayalz wrote:

Should this check if NewOp is a live-in and !Full?

https://github.com/llvm/llvm-project/pull/73158


More information about the llvm-commits mailing list