[PATCH] D124308: [MachineScheduler] exclude INLINEASM from schedule when it would increase register pressure

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 22 15:47:50 PDT 2022


nickdesaulniers added a comment.

One alternative approach I can think of is rather than shrink the schedule region which is pretty pessimistic (the INLINEASM could have lots of operands of a particular TargetRegisterClass, but the only COPYs the would benefit from rescheduling are of a different TargetRegisterClass); I guess during moving of an instruction, we could check that we weren't moving COPY of a PhysReg past an INLINEASM with an operand of the same TargetRegisterClass would not be permitted if the number of live phyregs at the INLINEASM minus the physregs consumed by the INLINEASM.

I'm not sure yet if what's the cleanest place to handle such an exceptional case and if that's even the best approach.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D124308



More information about the llvm-commits mailing list