[PATCH] D110335: [LiveIntervals] Improve repair after convertToThreeAddress

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 24 11:05:42 PDT 2021


foad added a comment.

> What benefits are we about here?
> Is it compile time?

Good question. It is mostly about reviving an incomplete transition from LiveVariables to LiveIntervals, as described here (thread): https://lists.llvm.org/pipermail/llvm-dev/2013-February/059261.html

LiveIntervals have good support for tracking subregister liveness information as described here (thread): https://lists.llvm.org/pipermail/llvm-dev/2013-October/066176.html

My motivation for working on this is that I have recently run into cases where TwoAddressInstructionPass is doing a poor job because it is relying on kill flags, which only relate to a whole "superregister", instead of fine grained subregister liveness. The best way to fix this seems to be to complete the transition to LiveIntervals. It's easy to test by forcing -early-live-intervals on. I don't know what the compile time impact will be yet.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D110335



More information about the llvm-commits mailing list