From c760d647c62125e6122afd92b6142ae1c42f95eb Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Thu, 11 Mar 2004 19:46:30 +0000 Subject: [PATCH] Get rid of the abort in PhyRegAlloc::finishSavingState(). Make an explicit call to it from runOnFunction() if we know we're supposed to write into the global. This is lame (esp. the const_cast), but it solves the problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12291 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp index 1428fc666d0..15243311764 100644 --- a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp +++ b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp @@ -1232,9 +1232,9 @@ bool PhyRegAlloc::doFinalization (Module &M) { /// state; this one is cumbersome and does not work well with the JIT. /// void PhyRegAlloc::finishSavingState (Module &M) { - std::cerr << "---- Saving reg. alloc state; SaveStateToModule = " - << SaveStateToModule << " ----\n"; - abort (); + if (DEBUG_RA) + std::cerr << "---- Saving reg. alloc state; SaveStateToModule = " + << SaveStateToModule << " ----\n"; // If saving state into the module, just copy new elements to the // correct global. @@ -1379,9 +1379,10 @@ bool PhyRegAlloc::runOnFunction (Function &F) { // Save register allocation state for this function in a Constant. if (SaveRegAllocState) { saveState(); - if (DEBUG_RA) { // Check our work. + if (DEBUG_RA) // Check our work. verifySavedState (); - } + if (!SaveStateToModule) + finishSavingState (const_cast (*Fn->getParent ())); } // Now update the machine code with register names and add any additional -- 2.34.1