Added an assert to the PBQP allocator to catch infinite cost solutions which might otherwise lead to miscompilations.

llvm-svn: 88829
This commit is contained in:
Lang Hames 2009-11-15 04:39:51 +00:00
parent 4c808dfc58
commit 6da915ac86
1 changed files with 5 additions and 0 deletions

View File

@ -693,6 +693,11 @@ void PBQPRegAlloc::addStackInterval(const LiveInterval *spilled,
} }
bool PBQPRegAlloc::mapPBQPToRegAlloc(const PBQP::Solution &solution) { bool PBQPRegAlloc::mapPBQPToRegAlloc(const PBQP::Solution &solution) {
// Assert that this is a valid solution to the regalloc problem.
assert(solution.getCost() != std::numeric_limits<PBQP::PBQPNum>::infinity() &&
"Invalid (infinite cost) solution for PBQP problem.");
// Set to true if we have any spills // Set to true if we have any spills
bool anotherRoundNeeded = false; bool anotherRoundNeeded = false;