[PATCH] D147429: [GuardWidening] Fix the crash while replacing the users of poison.

Serguei Katkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 3 08:13:47 PDT 2023


skatkov added a comment.

In D147429#4240614 <https://reviews.llvm.org/D147429#4240614>, @nikic wrote:

> In D147429#4240214 <https://reviews.llvm.org/D147429#4240214>, @skatkov wrote:
>
>> In D147429#4240161 <https://reviews.llvm.org/D147429#4240161>, @nikic wrote:
>>
>>> Walking users of ConstantData is not allowed -- you need to fix this in a way that doesn't perform such a walk in the first place (e.g. by bailing of out of those cases early).
>>
>> will do, need to think, how to handle it.
>>
>> By the way, where it is prohibited?
>
> See https://discourse.llvm.org/t/rfc-constantdata-should-not-have-use-lists/42606. Unfortunately, the actual assertion to enforce this never landed. It's pretty much always a bug if you do this though, if nothing else because ConstantData can have huge use lists (with millions of uses, including across modules).

ok, I see. It makes sense to re-factor this anyway. Traversing all constants and global users is compile time overhead anyway.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D147429



More information about the llvm-commits mailing list