summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAllocBasic.cpp
diff options
context:
space:
mode:
authorRobert Lougher <rob.lougher@gmail.com>2015-08-10 11:59:44 +0000
committerRobert Lougher <rob.lougher@gmail.com>2015-08-10 11:59:44 +0000
commit11a44b78a33be4bbc95ede7cabf53202de9e82ce (patch)
treee0057462963bc999e04239fc39c2b4b8edab2bba /llvm/lib/CodeGen/RegAllocBasic.cpp
parenta0e02410e14047eb4a0a3068bf104084dd774b3a (diff)
downloadbcm5719-llvm-11a44b78a33be4bbc95ede7cabf53202de9e82ce.tar.gz
bcm5719-llvm-11a44b78a33be4bbc95ede7cabf53202de9e82ce.zip
Trace copies when checking for rematerializability in spill weight calculation
PR24139 contains an analysis of poor register allocation. One of the findings was that when calculating the spill weight, a rematerializable interval once split is no longer rematerializable. This is because the isRematerializable check in CalcSpillWeights.cpp does not follow the copies introduced by live range splitting (after splitting, the live interval register definition is a copy which is not rematerializable). Reviewers: qcolombet Differential Revision: http://reviews.llvm.org/D11686 llvm-svn: 244439
Diffstat (limited to 'llvm/lib/CodeGen/RegAllocBasic.cpp')
-rw-r--r--llvm/lib/CodeGen/RegAllocBasic.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/RegAllocBasic.cpp b/llvm/lib/CodeGen/RegAllocBasic.cpp
index d9660541d92..22e803088bb 100644
--- a/llvm/lib/CodeGen/RegAllocBasic.cpp
+++ b/llvm/lib/CodeGen/RegAllocBasic.cpp
@@ -276,7 +276,7 @@ bool RABasic::runOnMachineFunction(MachineFunction &mf) {
getAnalysis<LiveIntervals>(),
getAnalysis<LiveRegMatrix>());
- calculateSpillWeightsAndHints(*LIS, *MF,
+ calculateSpillWeightsAndHints(*LIS, *MF, VRM,
getAnalysis<MachineLoopInfo>(),
getAnalysis<MachineBlockFrequencyInfo>());
OpenPOWER on IntegriCloud