[block-freq] Refactor LiveInterals::getSpillWeight to use the new MachineBlockFrequen...
authorMichael Gottesman <mgottesman@apple.com>
Sat, 14 Dec 2013 00:53:32 +0000 (00:53 +0000)
committerMichael Gottesman <mgottesman@apple.com>
Sat, 14 Dec 2013 00:53:32 +0000 (00:53 +0000)
commitf392e88e18c54ab6aa086926e68c417741697311
tree2466a9be04aec656faabd9c3af218cb06882fbb9
parent530c0b88624e97097b5b13f410dd104dad15854c
[block-freq] Refactor LiveInterals::getSpillWeight to use the new MachineBlockFrequencyInfo methods.

This is slightly more interesting than the previous batch of changes.
Specifically:

1. We refactor getSpillWeight to take a MachineBlockFrequencyInfo (MBFI)
object. This enables us to completely encapsulate the actual manner we
use the MachineBlockFrequencyInfo to get our spill weights. This yields
cleaner code since one does not need to fetch the actual block frequency
before getting the spill weight if all one wants it the spill weight. It
also gives us access to entry frequency which we need for our
computation.

2. Instead of having getSpillWeight take a MachineBasicBlock (as one
might think) to look up the block frequency via the MBFI object, we
instead take in a MachineInstr object. The reason for this is that the
method is supposed to return the spill weight for an instruction
according to the comments around the function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197296 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/LiveIntervalAnalysis.h
lib/CodeGen/CalcSpillWeights.cpp
lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/RegAllocPBQP.cpp
lib/CodeGen/StackSlotColoring.cpp