diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-05-08 17:12:57 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-05-08 17:12:57 +0000 | 
| commit | c46e6a5940c50058e00c0c5f9123fd82e338d29a (patch) | |
| tree | 89a719d723035c54a190b1f81d329834f1f93336 /lib/CodeGen/MachineVerifier.cpp | |
| parent | 148779df305667b6942fee7e758fdf81a6498f38 (diff) | |
Notes
Diffstat (limited to 'lib/CodeGen/MachineVerifier.cpp')
| -rw-r--r-- | lib/CodeGen/MachineVerifier.cpp | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/CodeGen/MachineVerifier.cpp b/lib/CodeGen/MachineVerifier.cpp index 84bd670105e1..bfb2cde030dc 100644 --- a/lib/CodeGen/MachineVerifier.cpp +++ b/lib/CodeGen/MachineVerifier.cpp @@ -188,8 +188,9 @@ namespace {        return Reg < regsReserved.size() && regsReserved.test(Reg);      } -    bool isAllocatable(unsigned Reg) { -      return Reg < TRI->getNumRegs() && MRI->isAllocatable(Reg); +    bool isAllocatable(unsigned Reg) const { +      return Reg < TRI->getNumRegs() && TRI->isInAllocatableClass(Reg) && +        !regsReserved.test(Reg);      }      // Analysis information if available @@ -526,7 +527,8 @@ void MachineVerifier::markReachable(const MachineBasicBlock *MBB) {  void MachineVerifier::visitMachineFunctionBefore() {    lastIndex = SlotIndex(); -  regsReserved = MRI->getReservedRegs(); +  regsReserved = MRI->reservedRegsFrozen() ? MRI->getReservedRegs() +                                           : TRI->getReservedRegs(*MF);    if (!MF->empty())      markReachable(&MF->front());  | 
