summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/PBQP
Commit message (Collapse)AuthorAgeFilesLines
* Added a separate class (PBQPBuilder) for PBQP Problem construction. This ↵Lang Hames2010-09-186-2128/+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
* Added initialisers for reduction rule counters.Lang Hames2010-09-051-0/+4
| | | | llvm-svn: 113108
* Silence an ambiguous else warning from GCC.Chandler Carruth2010-09-021-1/+2
| | | | llvm-svn: 112809
* Added counters for PBQP reduction rules.Lang Hames2010-09-023-1/+44
| | | | llvm-svn: 112807
* 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
* Convert some tab stops into spaces.Duncan Sands2010-07-121-1/+1
| | | | llvm-svn: 108130
* 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
* Fix various doxygen warnings.Dan Gohman2010-02-221-2/+2
| | | | llvm-svn: 96779
* * Updated the cost matrix normalization proceedure to better handle infinite ↵Lang Hames2010-02-122-13/+21
| | | | | | | | | | 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
* Fix "the the" and similar typos.Dan Gohman2010-02-101-1/+1
| | | | llvm-svn: 95781
* Added copy sensible construction & assignment to PBQP graphs and fixed a ↵Lang Hames2010-02-092-18/+85
| | | | | | memory access bug in the heuristic solver. llvm-svn: 95633
* 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-2611-2032/+1486
| | | | | | | | | * 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-069-9/+9
| | | | llvm-svn: 92830
* Fix a bunch of little errors that Clang complains about when its being pedanticDouglas Gregor2009-12-192-2/+2
| | | | llvm-svn: 91764
* Sundry dependent-name fixes flagged by clang++.John McCall2009-12-171-4/+4
| | | | llvm-svn: 91636
* Mark more constants unsigned, as warned about by icc (#68).Duncan Sands2009-09-061-1/+1
| | | | | | Patch by Erick Tryzelaar. llvm-svn: 81116
* Remove <iostream>.Bill Wendling2009-08-151-20/+17
| | | | llvm-svn: 79146
* Remove unnecessary throw() specifications; LLVM doesn't use exceptions.Dan Gohman2009-08-111-3/+3
| | | | llvm-svn: 78667
* Fix some -Asserts unused variable warnings.Daniel Dunbar2009-08-081-6/+4
| | | | llvm-svn: 78447
* Added legal stuff, fixed some formatting issues. Removed the graph generator ↵Lang Hames2009-08-0710-254/+142
| | | | | | 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-0610-0/+2672
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