[PATCH] D98627: [JumpThreading] Do not use AA after a block has been destroyed. PR43276

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 16 02:08:00 PDT 2021


nikic added a comment.

In D98627#2628283 <https://reviews.llvm.org/D98627#2628283>, @mkazantsev wrote:

> In D98627#2628263 <https://reviews.llvm.org/D98627#2628263>, @nikic wrote:
>
>> However, it's not at all obvious to me why this problem affects only LI and not DT. JumpThreading has many other places that use DTU, why do those not have to drop AA as well?
>
> All relevant places take DTU, so the DomTree is kept up-to-date (under assumption that AA and the opt inself use the *same* dom tree, which is, frankly, not obvious).
>
> I'll see what are the implications of dropping LI dependency in basic AA. Maybe it's indeed a way worth taking.

JumpThreading only uses DTU to preserve the DomTree for the pass manager, it never flushes the DTU during the execution of the pass itself. This means that AA may work on a stale DomTree.


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

https://reviews.llvm.org/D98627



More information about the llvm-commits mailing list