[llvm-commits] [llvm] r153958 - /llvm/trunk/include/llvm/CodeGen/PBQP/Heuristics/Briggs.h
Lang Hames
lhames at gmail.com
Tue Apr 3 09:27:17 PDT 2012
Author: lhames
Date: Tue Apr 3 11:27:16 2012
New Revision: 153958
URL: http://llvm.org/viewvc/llvm-project?rev=153958&view=rev
Log:
Matrix simplification in PBQP may push infinite costs onto register options.
The colorability heuristic should count these as denied registers.
No test case - this exposed a bug on an out-of-tree target.
Modified:
llvm/trunk/include/llvm/CodeGen/PBQP/Heuristics/Briggs.h
Modified: llvm/trunk/include/llvm/CodeGen/PBQP/Heuristics/Briggs.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/PBQP/Heuristics/Briggs.h?rev=153958&r1=153957&r2=153958&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/PBQP/Heuristics/Briggs.h (original)
+++ llvm/trunk/include/llvm/CodeGen/PBQP/Heuristics/Briggs.h Tue Apr 3 11:27:16 2012
@@ -418,6 +418,12 @@
unsigned numRegs = getGraph().getNodeCosts(nItr).getLength() - 1;
nd.numDenied = 0;
+ const Vector& nCosts = getGraph().getNodeCosts(nItr);
+ for (unsigned i = 1; i < nCosts.getLength(); ++i) {
+ if (nCosts[i] == std::numeric_limits<PBQPNum>::infinity())
+ ++nd.numDenied;
+ }
+
nd.numSafe = numRegs;
nd.unsafeDegrees.resize(numRegs, 0);
More information about the llvm-commits
mailing list