[PATCH] D75980: [LV] Generate RT checks up-front and remove them if required. (WIP)

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 21 12:30:24 PDT 2020


lebedev.ri added a comment.

In D75980#2165028 <https://reviews.llvm.org/D75980#2165028>, @fhahn wrote:

> In D75980#2164971 <https://reviews.llvm.org/D75980#2164971>, @lebedev.ri wrote:
>
> > Reverse-ping. Can i somehow help get this going? :)
>
>
> I actually started rebasing/updating over the weekend. There are a few more loose ends to tie up, but I should be able to share an update in the next few days.
>
> >> One potential drawback of this patch is that we speculatively
> >>  generate IR which we might have to clean up later. However it seems like
> >>  the code required to do so is quite manageable.
> > 
> > There's prior art for that, loop idiom pass has `ExpandedValuesCleaner` e.g.
>
> Yes, part of the update is to fix SCEVExpander to actually collect all instructions it generates automatically, so they can be cleaned up later. It already does so for some instructions, but is missing a ton of cases.


Without looking at how it would look, i would imagine that can be cleaned by supplying a callback to the builder, that would automatically put each new instruction into some vector.
Let me know if that is the right direction and if it would be helpful for me to look into that (unless you're halfway there of course)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75980





More information about the llvm-commits mailing list