MI Sched: Track live-thru registers.
authorAndrew Trick <atrick@apple.com>
Tue, 30 Jul 2013 19:59:12 +0000 (19:59 +0000)
committerAndrew Trick <atrick@apple.com>
Tue, 30 Jul 2013 19:59:12 +0000 (19:59 +0000)
commit9c17eab7615a0cad46da953684761a541831656a
tree797d330b06d9ca4904bfa9152788ad7664516842
parentd9761776bcced01f42a0042d7c7a3b8981b3f383
MI Sched: Track live-thru registers.

When registers must be live throughout the scheduling region, increase
the limit for the register class. Once we exceed the original limit,
they will be spilled, and there's no point further reducing pressure.

This isn't a perfect heuristics but avoids a situation where the
scheduler could become trapped by trying to achieve the impossible.

llvm-svn: 187436
llvm/include/llvm/CodeGen/RegisterPressure.h
llvm/lib/CodeGen/MachineScheduler.cpp
llvm/lib/CodeGen/RegisterPressure.cpp