[PATCH] D38676: [LV] Model masking in VPlan, introducing VPInstructions

Renato Golin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 15 13:01:38 PST 2017


rengolin added inline comments.


================
Comment at: lib/Transforms/Vectorize/LoopVectorize.cpp:8374
   VPBasicBlock *VPBB = new VPBasicBlock("Pre-Entry");
-  VPlan *Plan = new VPlan(VPBB);
+  Plan = new VPlan(VPBB);
+
----------------
So, `buildVPlans` will call `buildVPlan` for each VF, which means we'll call `new VPlan` multiple times, but now the `Plan` is a class global and will hold the last created plan's pointer. What is the purpose of this pointer?


================
Comment at: lib/Transforms/Vectorize/VPlan.h:241
+    // Bring the Values from ValueMap.
+    return Callback.getOrCreateVectorValues(VPValue2Value[Def], Part);
+  }
----------------
How is this saving the value in the `DenseMap PerPartOutput`?


https://reviews.llvm.org/D38676





More information about the llvm-commits mailing list