[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