diff options
Diffstat (limited to 'llvm/lib/CodeGen/TargetRegisterInfo.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/TargetRegisterInfo.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/TargetRegisterInfo.cpp b/llvm/lib/CodeGen/TargetRegisterInfo.cpp index ffc8055dd27e..16dab974efac 100644 --- a/llvm/lib/CodeGen/TargetRegisterInfo.cpp +++ b/llvm/lib/CodeGen/TargetRegisterInfo.cpp @@ -421,13 +421,16 @@ bool TargetRegisterInfo::getRegAllocationHints( SmallVectorImpl<MCPhysReg> &Hints, const MachineFunction &MF, const VirtRegMap *VRM, const LiveRegMatrix *Matrix) const { const MachineRegisterInfo &MRI = MF.getRegInfo(); - const std::pair<unsigned, SmallVector<Register, 4>> &Hints_MRI = + const std::pair<unsigned, SmallVector<Register, 4>> *Hints_MRI = MRI.getRegAllocationHints(VirtReg); + if (!Hints_MRI) + return false; + SmallSet<Register, 32> HintedRegs; // First hint may be a target hint. - bool Skip = (Hints_MRI.first != 0); - for (auto Reg : Hints_MRI.second) { + bool Skip = (Hints_MRI->first != 0); + for (auto Reg : Hints_MRI->second) { if (Skip) { Skip = false; continue; |
