[llvm] [SystemZ] Eliminate call sequence instructions early. (PR #77812)

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 27 06:47:57 PDT 2024


JonPsson1 wrote:

Patch rebased with some reworded comments, otherwise same as before: Compute the MaxCallFrameSize during custom insertion (isel) and then set all values to 0. The pseudos are not mapped as frame instructions anymore, so they are only left as scheduling boundaries.

It may be that even though there seem to be some slight advantage for the phys-reg arguments (spilling/copys), perhaps that doesn't matter. If benchmarks show no actual difference, maybe they could just be removed during isel regardless. Alternatively, as stated in the comment, maybe the MIScheduler could be improved here.

We could keep them as pseudos, but then PEI will recompute them and if they are 0 that will not work without first fixing PEI somehow. Unfortunately it seems like other targets want to recompute it for some reason, so not sure how to handle without adding yet another special casing... It is however better to not have this in the sense that they do not serve any purpose.



https://github.com/llvm/llvm-project/pull/77812


More information about the llvm-commits mailing list