[PATCH] D96015: [RegAllocFast] Handle case where operand of copy cannot be assigned.

Quentin Colombet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 25 10:10:45 PST 2021


qcolombet added a comment.

> I think this is actually a problem GlobalISel does have since it doesn't have the DAG scheduler/linearizer to minimize physical register live ranges. We need an MI equivalent pass to do this

That's a good point. I've been advocating for this for years, if not publicly at least internally. Without a sort of scheduler in the pipeline, on targets like x86, we would generate awful code whenever we carry around flags, since so many instructions would clobber them. Currently, I believe we would just spill the flags!


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D96015



More information about the llvm-commits mailing list