summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/ScheduleDAG.h
Commit message (Collapse)AuthorAge
* switch the VRBaseMap in the scheduler from an std::map to a DenseMap. ThisChris Lattner2007-02-04
| | | | | | | speeds up the isel pass from 2.5570s to 2.4722s on kc++ (3.4%). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33879 91177308-0d34-0410-b5e6-96231b3b80d8
* switch the sched unit map over to use a DenseMap instead of std::map. ThisChris Lattner2007-02-03
| | | | | | | speeds up isel as a whole time by 2.6%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33810 91177308-0d34-0410-b5e6-96231b3b80d8
* rename DenseMap to IndexedMap.Chris Lattner2007-02-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33749 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the MachineDebugInfo to MachineModuleInfo to better reflect usageJim Laskey2007-01-26
| | | | | | | for debugging and exception handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33550 91177308-0d34-0410-b5e6-96231b3b80d8
* Move to operand constraints for two-address instructions.Evan Cheng2006-11-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31452 91177308-0d34-0410-b5e6-96231b3b80d8
* switch the SUnit pred/succ sets from being std::sets to being smallvectors.Chris Lattner2006-08-17
| | | | | | | | | This reduces selectiondag time on kc++ from 5.43s to 4.98s (9%). More significantly, this speeds up the default ppc scheduler from ~1571ms to 1063ms, a 33% speedup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29743 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert vector to smallvector: 4% speedup.Chris Lattner2006-08-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29735 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that the ISel is available, it's possible to create a default instructionJim Laskey2006-08-01
| | | | | | | scheduler creator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29452 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Change use of "Cache" to "Default".Jim Laskey2006-08-01
| | | | | | | | | | | | 2. Added argument to instruction scheduler creators so the creators can do special things. 3. Repaired target hazard code. 4. Misc. More to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29450 91177308-0d34-0410-b5e6-96231b3b80d8
* Introducing plugable register allocators and instruction schedulers.Jim Laskey2006-08-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29434 91177308-0d34-0410-b5e6-96231b3b80d8
* Patches to make the LLVM sources more -pedantic clean. Patch providedChris Lattner2006-05-24
| | | | | | | by Anton Korobeynikov! This is a step towards closing PR786. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert an un-intended changeEvan Cheng2006-05-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28278 91177308-0d34-0410-b5e6-96231b3b80d8
* Add capability to scheduler to commute nodes for profit.Evan Cheng2006-05-12
| | | | | | | | If a two-address code whose first operand has uses below, it should be commuted when possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28230 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor scheduler code. Move register-reduction list scheduler to aEvan Cheng2006-05-11
| | | | | | | | separate file. Added an initial implementation of top-down register pressure reduction list scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28226 91177308-0d34-0410-b5e6-96231b3b80d8
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-22
| | | | | | | | | x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27947 91177308-0d34-0410-b5e6-96231b3b80d8
* Move simple-selector-specific types to the simple selector.Chris Lattner2006-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26693 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the interface to the schedulers, to not pass the selected heuristicChris Lattner2006-03-10
| | | | | | | in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26691 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some simple-sched-specific instance vars to the simple scheduler.Chris Lattner2006-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26690 91177308-0d34-0410-b5e6-96231b3b80d8
* move some simple scheduler methods into the simple schedulerChris Lattner2006-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26688 91177308-0d34-0410-b5e6-96231b3b80d8
* Make EmitNode take a SDNode instead of a NodeInfo*Chris Lattner2006-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26687 91177308-0d34-0410-b5e6-96231b3b80d8
* Store VRBase in a map, not in NodeInfo.Chris Lattner2006-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26685 91177308-0d34-0410-b5e6-96231b3b80d8
* make some methods protected instead of privateChris Lattner2006-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26681 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the interface for getting a target HazardRecognizer to be more clean.Chris Lattner2006-03-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26608 91177308-0d34-0410-b5e6-96231b3b80d8
* Hoist the HazardRecognizer out of the ScheduleDAGList.cpp file to whereChris Lattner2006-03-06
| | | | | | | targets can implement them. Make the top-down scheduler non-g5-specific. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26568 91177308-0d34-0410-b5e6-96231b3b80d8
* add an emitnoop methodChris Lattner2006-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26563 91177308-0d34-0410-b5e6-96231b3b80d8
* Breathe some life into a comment.Jim Laskey2006-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26553 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new scheduling type. This is, of course, a hack. Proper factoringChris Lattner2006-03-05
| | | | | | | will come later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26551 91177308-0d34-0410-b5e6-96231b3b80d8
* add a methodChris Lattner2006-02-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26357 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean.Chris Lattner2006-02-22
| | | | | | | Patch by Martin Partel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26313 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of some memory leaks identified by ValgrindEvan Cheng2006-02-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25960 91177308-0d34-0410-b5e6-96231b3b80d8
* Duh.Evan Cheng2006-01-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25628 91177308-0d34-0410-b5e6-96231b3b80d8
* No need to keep track of top and bottom nodes in a group since the vector isEvan Cheng2006-01-25
| | | | | | | already in order. Thanks Jim for pointing it out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25608 91177308-0d34-0410-b5e6-96231b3b80d8
* Some minor scheduler changes.Evan Cheng2006-01-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25597 91177308-0d34-0410-b5e6-96231b3b80d8
* Skeleton of the list schedule.Evan Cheng2006-01-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25544 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor out more instruction scheduler code to the base class.Evan Cheng2006-01-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25532 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual Studio neurotic about inconsistent class/struct usage.Jeff Cohen2006-01-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25506 91177308-0d34-0410-b5e6-96231b3b80d8
* Do some code refactoring on Jim's scheduler in preparation of the new listEvan Cheng2006-01-21
scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25493 91177308-0d34-0410-b5e6-96231b3b80d8