diff --git a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp b/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp --- a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp +++ b/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp @@ -200,7 +200,7 @@ LLVM_DEBUG(dbgs() << "\tRegs:"); std::vector &DefIndices = State->GetDefIndices(); - for (unsigned Reg = 0; Reg != TRI->getNumRegs(); ++Reg) { + for (unsigned Reg = 1; Reg != TRI->getNumRegs(); ++Reg) { // If Reg is current live, then mark that it can't be renamed as // we don't know the extent of its live-range anymore (now that it // has been scheduled). If it is not live but was defined in the @@ -776,7 +776,7 @@ #ifndef NDEBUG LLVM_DEBUG(dbgs() << "\n===== Aggressive anti-dependency breaking\n"); LLVM_DEBUG(dbgs() << "Available regs:"); - for (unsigned Reg = 0; Reg < TRI->getNumRegs(); ++Reg) { + for (unsigned Reg = 1; Reg < TRI->getNumRegs(); ++Reg) { if (!State->IsLive(Reg)) LLVM_DEBUG(dbgs() << " " << printReg(Reg, TRI)); } diff --git a/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp b/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp --- a/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp +++ b/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp @@ -49,7 +49,7 @@ void CriticalAntiDepBreaker::StartBlock(MachineBasicBlock *BB) { const unsigned BBSize = BB->size(); - for (unsigned i = 0, e = TRI->getNumRegs(); i != e; ++i) { + for (unsigned i = 1, e = TRI->getNumRegs(); i != e; ++i) { // Clear out the register class data. Classes[i] = nullptr; @@ -111,7 +111,7 @@ return; assert(Count < InsertPosIndex && "Instruction index out of expected range!"); - for (unsigned Reg = 0; Reg != TRI->getNumRegs(); ++Reg) { + for (unsigned Reg = 1; Reg != TRI->getNumRegs(); ++Reg) { if (KillIndices[Reg] != ~0u) { // If Reg is currently live, then mark that it can't be renamed as // we don't know the extent of its live-range anymore (now that it @@ -265,7 +265,7 @@ [&](MCPhysReg SR) { return MO.clobbersPhysReg(SR); }); }; - for (unsigned i = 0, e = TRI->getNumRegs(); i != e; ++i) { + for (unsigned i = 1, e = TRI->getNumRegs(); i != e; ++i) { if (ClobbersPhysRegAndSubRegs(i)) { DefIndices[i] = Count; KillIndices[i] = ~0u; @@ -463,7 +463,7 @@ LLVM_DEBUG(dbgs() << "Critical path has total latency " << (Max->getDepth() + Max->Latency) << "\n"); LLVM_DEBUG(dbgs() << "Available regs:"); - for (unsigned Reg = 0; Reg < TRI->getNumRegs(); ++Reg) { + for (unsigned Reg = 1; Reg < TRI->getNumRegs(); ++Reg) { if (KillIndices[Reg] == ~0u) LLVM_DEBUG(dbgs() << " " << printReg(Reg, TRI)); }