[PATCH] D124251: [SimpleLoopUnswitch] Run LICM for nested unswitching tests.
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 22 13:23:18 PDT 2022
fhahn added a comment.
In D124251#3468747 <https://reviews.llvm.org/D124251#3468747>, @asbirlea wrote:
> As a side note, the fact the freeze instruction needs licm and simple loop unswitch interleaved, will likely affect the plan we had around splitting off the non-trivial unswitch functionality into a separate function pass (the context for that is regarding using divergence analysis: https://reviews.llvm.org/D109762)
> It seems like tracking the added freeze instructions and including the functionality of hoisting them as part of the "new" non-trivial SLU pass will resolve this, but I'd like to hear folks feedback on this.
We could either hoist the freeze instructions or generate them at a place where no hoisting is required. At least as things are at the moment, I am not sure if it is worth it though, as it is just for testing in cases with nested loops that get unswitched from the inside out. Note that we don't only have this problem with freeze instructions we generate but potentially also with AND/ORs we generate when we have multiple invariant conditions.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124251/new/
https://reviews.llvm.org/D124251
More information about the llvm-commits
mailing list