diff options
-rw-r--r-- | lib/CodeGen/RegAlloc/PhyRegAlloc.cpp | 4 | ||||
-rw-r--r-- | lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp b/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp index 65d1b70..4215023 100644 --- a/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp +++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp @@ -1177,7 +1177,8 @@ void PhyRegAlloc::saveState () { /// Check the saved state filled in by saveState(), and abort if it looks -/// wrong. Only used when debugging. +/// wrong. Only used when debugging. FIXME: Currently it just prints out +/// the state, which isn't quite as useful. /// void PhyRegAlloc::verifySavedState () { std::vector<AllocInfo> &state = FnAllocState[Fn]; @@ -1233,6 +1234,7 @@ bool PhyRegAlloc::doFinalization (Module &M) { std::vector<Constant *> allstate; for (Module::iterator I = M.begin (), E = M.end (); I != E; ++I) { Function *F = I; + if (F->isExternal ()) continue; if (FnAllocState.find (F) == FnAllocState.end ()) { allstate.push_back (ConstantPointerNull::get (PT)); } else { diff --git a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp index 65d1b70..4215023 100644 --- a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp +++ b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp @@ -1177,7 +1177,8 @@ void PhyRegAlloc::saveState () { /// Check the saved state filled in by saveState(), and abort if it looks -/// wrong. Only used when debugging. +/// wrong. Only used when debugging. FIXME: Currently it just prints out +/// the state, which isn't quite as useful. /// void PhyRegAlloc::verifySavedState () { std::vector<AllocInfo> &state = FnAllocState[Fn]; @@ -1233,6 +1234,7 @@ bool PhyRegAlloc::doFinalization (Module &M) { std::vector<Constant *> allstate; for (Module::iterator I = M.begin (), E = M.end (); I != E; ++I) { Function *F = I; + if (F->isExternal ()) continue; if (FnAllocState.find (F) == FnAllocState.end ()) { allstate.push_back (ConstantPointerNull::get (PT)); } else { |