[PATCH] D69534: [X86] Lower frame references with large offsets

David Greene via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 29 11:13:59 PDT 2019


greened added a comment.

This causes a couple of tests to fail due to the X86 backend not keeping liveness information up-to-date.  My understanding is that the liveness bits should go away.  Currently PEI uses `RegisterScavenging::forward` which is commented as being not preferred.  The better option is to use `RegisterScavenging::backward` which doesn't need to rely on liveness information.  However, PEI iterates through the basic block in a forward manner, so using `RegisterScavenging::backward` could be expensive.

Other targets like AArch64 use register scavenging so they are already relying on an interface that is essentially marked deprecated.  What should be the solution here?  Fixing up the couple of places in the X86 codegen to properly update liveness isn't too bad but I wonder about other lurking issues.  Is it time to rework PEI so that `RegisterScavenging::backward` can be used?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69534





More information about the llvm-commits mailing list