[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 01:42:02 PDT 2021


nikic requested changes to this revision.
nikic added a comment.
This revision now requires changes to proceed.

I don't think this is an acceptable fix, even as a workaround. If this is really *just* about LoopInfo, we should be able to just drop the LoopInfo dependency in BasicAA, it's not particularly important. 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?

I also really don't like the idea of dropping an analysis partway through, as that effectively makes our test coverage a lie. Tests naturally test transforms in isolation, but real programs will see many transforms applied in sequence. Transforms that work in tests will not actually work in practice. Dropping the AA dependency entirely would provide a more honest view of how this actually affects transformations and whether there is anything we can do to mitigate.


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

https://reviews.llvm.org/D98627



More information about the llvm-commits mailing list