summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/PBQP/Heuristics/Briggs.h
Commit message (Collapse)AuthorAgeFilesLines
* Added a separate class (PBQPBuilder) for PBQP Problem construction. This ↵Lang Hames2010-09-181-460/+0
| | | | | | | | | | | | class can be extended to support custom constraints. For now the allocator still uses the old (internal) construction mechanism by default. This will be phased out soon assuming no issues with the builder system come up. To invoke the new construction mechanism just pass '-regalloc=pbqp -pbqp-builder' to llc. To provide custom constraints a Target just needs to extend PBQPBuilder and pass an instance of their derived builder to the RegAllocPBQP constructor. llvm-svn: 114272
* Iterating over sets of pointers in a heuristic was a bad idea. SwitchingLang Hames2010-07-171-6/+2
| | | | | | | | | | | any command line paramater changed the register allocation produced by PBQP. Turns out variety is not the spice of life. Fixed some comparators, added others. All good now. llvm-svn: 108613
* Remove two other uses of ATTRIBUTE_UNUSED for variables only used withinChandler Carruth2010-07-111-3/+2
| | | | | | | | assert()s, switching to void-casts. Removed an unneeded Compiler.h include as a result. There are two other uses in LLVM, but they're not due to assert()s, so I've left them alone. llvm-svn: 108088
* * Updated the cost matrix normalization proceedure to better handle infinite ↵Lang Hames2010-02-121-8/+1
| | | | | | | | | | costs. * Enabled R1/R2 application for nodes with infinite spill costs in the Briggs heuristic (made safe by the changes to the normalization proceedure). * Removed a redundant header. llvm-svn: 95973
* Silence GCC warnings with asserts turned off. No functionality change.Chandler Carruth2010-01-271-1/+2
| | | | llvm-svn: 94673
* New PBQP solver.Lang Hames2010-01-261-299/+387
| | | | | | | | | * Fixed a reduction bug which occasionally led to infinite-cost (invalid) register allocation solutions despite the existence finite-cost solutions. * Significantly reduced memory usage (>50% reduction). * Simplified a lot of the solver code. llvm-svn: 94514
* Fixed malformed -*- lines in PBQP headers.Lang Hames2010-01-061-1/+1
| | | | llvm-svn: 92830
* Mark more constants unsigned, as warned about by icc (#68).Duncan Sands2009-09-061-1/+1
| | | | | | Patch by Erick Tryzelaar. llvm-svn: 81116
* Added legal stuff, fixed some formatting issues. Removed the graph generator ↵Lang Hames2009-08-071-20/+18
| | | | | | stuff as it was only meant for debugging the solver. llvm-svn: 78359
* New C++ PBQP solver. Currently about as fast (read _slow_) as the old C ↵Lang Hames2009-08-061-0/+385
based solver, but I'll be working to improve that. The PBQP allocator has been updated to use the new solver. llvm-svn: 78354
OpenPOWER on IntegriCloud