diff options
author | Chad Rosier <mcrosier@apple.com> | 2012-11-28 00:21:29 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2012-11-28 00:21:29 +0000 |
commit | 18bb0545ff79b85ef424e95e2170e3a06f11b735 (patch) | |
tree | f9911544f787bb77fc671c42377a6a7c9cea1ffb | |
parent | 0d5dbcb5dcffc57e60b55418ef29c7b1929529ff (diff) |
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
-rw-r--r-- | lib/CodeGen/MachineRegisterInfo.cpp | 2 | ||||
-rw-r--r-- | lib/CodeGen/RegAllocBase.cpp | 1 | ||||
-rw-r--r-- | lib/CodeGen/RegAllocFast.cpp | 1 | ||||
-rw-r--r-- | 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 34518fa46b..95d7a7dd68 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 2b598e3a56..993dbc71de 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 3744b06f3a..88922169b3 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 f58d45f131..02ebce7a11 100644 --- a/lib/CodeGen/RegAllocPBQP.cpp +++ b/lib/CodeGen/RegAllocPBQP.cpp @@ -552,6 +552,8 @@ bool RegAllocPBQP::runOnMachineFunction(MachineFunction &MF) { vrm = &getAnalysis<VirtRegMap>(); spiller.reset(createInlineSpiller(*this, MF, *vrm)); + mri->freezeReservedRegs(MF); + DEBUG(dbgs() << "PBQP Register Allocating for " << mf->getName() << "\n"); // Allocator main loop: |