mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-27 13:40:43 +00:00
Add comments. Addressing review comments from Evan on r204690.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204864 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2a6873fdf3
commit
3d7d0bc71a
@ -2122,6 +2122,11 @@ unsigned RAGreedy::selectOrSplitImpl(LiveInterval &VirtReg,
|
||||
CSRFirstUse = true;
|
||||
|
||||
BlockFrequency CSRCost(CSRFirstTimeCost);
|
||||
// Using a CSR for the first time has a cost because it causes push|pop
|
||||
// to be added to prologue|epilogue. Splitting a cold section of the live
|
||||
// range can have lower cost than using the CSR for the first time;
|
||||
// Spilling a live range in the cold path can have lower cost than using
|
||||
// the CSR for the first time.
|
||||
if (getStage(VirtReg) == RS_Spill && CSRFirstUse && NewVRegs.empty() &&
|
||||
CSRFirstTimeCost > 0 && VirtReg.isSpillable()) {
|
||||
// We choose spill over using the CSR for the first time if the spill cost
|
||||
|
Loading…
Reference in New Issue
Block a user