[PATCH] D84679: [VPlan] Disconnect VPValue and VPUser.

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 27 11:55:06 PDT 2020


dmgreen added a comment.

> I experimented a bit more and came up with another alternative: allow VPValue to model 3 different things: 1) concrete VPValues, 2) sub VPValues and 3) virtual VPValue: D88380 <https://reviews.llvm.org/D88380>
>
> Managing those 3 in VPValue directly simplifies things further down a bit and I put up 2 more follow-on patches that turn VPReciepBase into a VPValue (D88379 <https://reviews.llvm.org/D88379>) and then also a VPUser (D88378 <https://reviews.llvm.org/D88378>). The last one also contains a unit test that looks upwards & downwards along the def-use chains. Note that we should probably move most/all remaining recipes to be VPValues and manage operands as VPUser before the last 2 patches.
>
> Overall this probably results in a simpler structure overall. If we want, we could then also fold VPUser into VPRecipeBase.

Sounds good. Multiple results certainly does complicate things a bit. I have not thought a lot about them, but I agree this will be simpler overall from the things I was trying to write.

I've put up D88382 <https://reviews.llvm.org/D88382> for VPReductionRecipe.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84679/new/

https://reviews.llvm.org/D84679



More information about the llvm-commits mailing list