[PATCH] D86565: [Attributor][FIX] Do not deduce noundef for dead positions

Shinji Okumura via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 25 15:44:07 PDT 2020


okura added a comment.

In D86565#2237393 <https://reviews.llvm.org/D86565#2237393>, @jdoerfert wrote:

> In D86565#2237391 <https://reviews.llvm.org/D86565#2237391>, @okura wrote:
>
>> In D86565#2237383 <https://reviews.llvm.org/D86565#2237383>, @jdoerfert wrote:
>>
>>> In D86565#2237339 <https://reviews.llvm.org/D86565#2237339>, @okura wrote:
>>>
>>>> In D86565#2237287 <https://reviews.llvm.org/D86565#2237287>, @jdoerfert wrote:
>>>>
>>>>> LGTM, one minor note. The test will be part of the module slice patch, I'm fairly certain this cannot be tested right now but it makes sense.
>>>>
>>>> Sorry, I was wrong. `CheckBBLivenessOnly` should be `false` because if it is `true` we cannot catch the assumed liveness of e.g. returned position.
>>>> When I changed it to `true`, a new AAIsDead was registered in manifestation, and segfault happened. So I register them in `initialize`.
>>>
>>> Don't do that but query them in the update instead.
>>
>> I have difficulty in doing that because segfault happens when a fixpoint is indicated in `initialize` and `updateImpl` is not called even once.
>
> TBH, I think we need to remove the assertion that you see (it should not be a segfault). And replace it with code that causes a pessimistic fixpoint for all attributes created after we are done with the update stage. They can initialize but that is it.

Yes, it was assertion failure.  I used a wrong term, sorry for the confusion.
I agree to remove the assertion. Can I work that?


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

https://reviews.llvm.org/D86565



More information about the llvm-commits mailing list