[PATCH] D108112: [LoopIdiom] let LIR fold memset pointer / stride SCEV regarding loop guards

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 16 03:26:57 PDT 2021


lebedev.ri added a comment.

In D108112#2946376 <https://reviews.llvm.org/D108112#2946376>, @eopXD wrote:

> In D108112#2946374 <https://reviews.llvm.org/D108112#2946374>, @lebedev.ri wrote:
>
>> I think this needs to be somewhere in SCEV itself.
>
> Do you mean the structure `SCEVFolder`?

No, i mean that the ScalarEvolution should perform this canonicalization internally, in `ScalarEvolution::getSignExtendExpr()`
It already does it, in fact: https://github.com/llvm/llvm-project/blob/0dc6b597db4d8b25f3df96a8f6574be732e18fdd/llvm/lib/Analysis/ScalarEvolution.cpp#L2100-L2103
Though perhaps that is not feasible because we don't know the loop we're after when in `ScalarEvolution::getSignExtendExpr()`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D108112



More information about the llvm-commits mailing list