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)
commitd71efffdcffc4204e75238f940df41fb24979a7d
tree21af8ef7150807c246943758666532790b0b9476
parent1e46fcd9891897f4fef8d8404214a7c9b6db158b
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187436 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/RegisterPressure.h
lib/CodeGen/MachineScheduler.cpp
lib/CodeGen/RegisterPressure.cpp