[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