diff options
author | Robert Lougher <rob.lougher@gmail.com> | 2015-08-10 11:59:44 +0000 |
---|---|---|
committer | Robert Lougher <rob.lougher@gmail.com> | 2015-08-10 11:59:44 +0000 |
commit | 11a44b78a33be4bbc95ede7cabf53202de9e82ce (patch) | |
tree | e0057462963bc999e04239fc39c2b4b8edab2bba /llvm/lib/CodeGen/RegAllocBasic.cpp | |
parent | a0e02410e14047eb4a0a3068bf104084dd774b3a (diff) | |
download | bcm5719-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.cpp | 2 |
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>()); |