From 18bb0545ff79b85ef424e95e2170e3a06f11b735 Mon Sep 17 00:00:00 2001 From: Chad Rosier Date: Wed, 28 Nov 2012 00:21:29 +0000 Subject: [PATCH] Revert r168630, r168631, and r168633 as these are causing nightly test failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168751 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/MachineRegisterInfo.cpp | 2 -- lib/CodeGen/RegAllocBase.cpp | 1 + lib/CodeGen/RegAllocFast.cpp | 1 + lib/CodeGen/RegAllocPBQP.cpp | 2 ++ 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/CodeGen/MachineRegisterInfo.cpp b/lib/CodeGen/MachineRegisterInfo.cpp index 34518fa46b1..95d7a7dd689 100644 --- a/lib/CodeGen/MachineRegisterInfo.cpp +++ b/lib/CodeGen/MachineRegisterInfo.cpp @@ -305,8 +305,6 @@ void MachineRegisterInfo::dumpUses(unsigned Reg) const { #endif void MachineRegisterInfo::freezeReservedRegs(const MachineFunction &MF) { - assert (!reservedRegsFrozen() && - "freezeReservedRegs should only be called once!"); ReservedRegs = TRI->getReservedRegs(MF); assert(ReservedRegs.size() == TRI->getNumRegs() && "Invalid ReservedRegs vector from target"); diff --git a/lib/CodeGen/RegAllocBase.cpp b/lib/CodeGen/RegAllocBase.cpp index 2b598e3a565..993dbc71ded 100644 --- a/lib/CodeGen/RegAllocBase.cpp +++ b/lib/CodeGen/RegAllocBase.cpp @@ -58,6 +58,7 @@ void RegAllocBase::init(VirtRegMap &vrm, VRM = &vrm; LIS = &lis; Matrix = &mat; + MRI->freezeReservedRegs(vrm.getMachineFunction()); RegClassInfo.runOnMachineFunction(vrm.getMachineFunction()); } diff --git a/lib/CodeGen/RegAllocFast.cpp b/lib/CodeGen/RegAllocFast.cpp index 3744b06f3ab..88922169b30 100644 --- a/lib/CodeGen/RegAllocFast.cpp +++ b/lib/CodeGen/RegAllocFast.cpp @@ -1127,6 +1127,7 @@ bool RAFast::runOnMachineFunction(MachineFunction &Fn) { TM = &Fn.getTarget(); TRI = TM->getRegisterInfo(); TII = TM->getInstrInfo(); + MRI->freezeReservedRegs(Fn); RegClassInfo.runOnMachineFunction(Fn); UsedInInstr.clear(); UsedInInstr.setUniverse(TRI->getNumRegs()); diff --git a/lib/CodeGen/RegAllocPBQP.cpp b/lib/CodeGen/RegAllocPBQP.cpp index f58d45f1316..02ebce7a11a 100644 --- a/lib/CodeGen/RegAllocPBQP.cpp +++ b/lib/CodeGen/RegAllocPBQP.cpp @@ -552,6 +552,8 @@ bool RegAllocPBQP::runOnMachineFunction(MachineFunction &MF) { vrm = &getAnalysis(); spiller.reset(createInlineSpiller(*this, MF, *vrm)); + mri->freezeReservedRegs(MF); + DEBUG(dbgs() << "PBQP Register Allocating for " << mf->getName() << "\n"); // Allocator main loop: