[PATCH] D110390: [SCEV] Establish control over disposition caches

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 28 07:59:20 PDT 2021


nikic added a comment.

> Neither forgetValue nor forgetLoop drops BlockDisposition cache. We literally don't have a method to drop it surgically (like the one we have for Loop Disposition). And we have some cache which never gets invalidated, things go wrong eventually.

The invalidation happens here:

https://github.com/llvm/llvm-project/blob/f3932ae1a078075e9e35f51ead3aaca05a9a23c7/llvm/lib/Analysis/ScalarEvolution.cpp#L12723-L12724
https://github.com/llvm/llvm-project/blob/f3932ae1a078075e9e35f51ead3aaca05a9a23c7/llvm/lib/Analysis/ScalarEvolution.cpp#L7528
https://github.com/llvm/llvm-project/blob/f3932ae1a078075e9e35f51ead3aaca05a9a23c7/llvm/lib/Analysis/ScalarEvolution.cpp#L7489

Am I misunderstanding something? We invalidate these in exactly the same way we invalidate all the other per-SCEV caches.


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

https://reviews.llvm.org/D110390



More information about the llvm-commits mailing list