[PATCH] D108138: [SimplifyCFG] Remove switch statements before vectorization

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 26 07:24:51 PDT 2021


lebedev.ri added a comment.

In D108138#2967156 <https://reviews.llvm.org/D108138#2967156>, @david-arm wrote:

> In D108138#2967133 <https://reviews.llvm.org/D108138#2967133>, @lebedev.ri wrote:
>
>> How is it conceptually different to break apart IR in LV itself, or do the same in a special pass just before that?
>> If we want to go this road, we need to completely make `switch`es illegal/non-canonical before LV.
>
> If I understand correctly you're suggesting that LV makes a scalar transformation prior to legalisation checks/cost model analysis? If that's the case then I don't think we can do that as this is beyond LV's remit and I don't see how that's any different to making a scalar transformation in a separate pass prior to LV.

Actually no, i'm saying that since LV is not allowed to do such scalar transformations,
doing the same scalar transfomation, but just outside of LV, doesn't change the fact
that we've just made a preparatory transformation in hope that it will allow LV,
without actually knowing that. If it doesn't, we now need to undo it.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D108138



More information about the cfe-commits mailing list