[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