[PATCH] D125000: [RS4GC] Cache BaseDefiningValueResult instead of BDV (NFC)

Dmitry Makogon via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 11 02:29:39 PDT 2022


dmakogon added a comment.

In D125000#3502849 <https://reviews.llvm.org/D125000#3502849>, @mkazantsev wrote:

> General questions: there are multiple places where we call `eraseFromParent`. Is there a guarantee that after this the cache is valid? Any way to verify this?

Actually we never erase any instructions that may happen to be in the cache. In some places where `eraseFromParent` is called we do an explicit assert that the value to be erased is not in the cache.
In other places the values being erased are definitely not present in the cache: there's a stage when some dummy calls are inserted and then erased shortly after. And last place where the values are erased is when we replace the existing statepoints with new ones with new live variables.


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

https://reviews.llvm.org/D125000



More information about the llvm-commits mailing list