summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/InstrSched/InstrScheduling.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Cleaned up code layout. No functional changes.Misha Brukman2003-05-221-446/+396
| | | | llvm-svn: 6304
* Kill `using' directives.Misha Brukman2003-05-221-23/+22
| | | | llvm-svn: 6301
* Rename llvm/Analysis/LiveVar/FunctionLiveVarInfo.h -> ↵Chris Lattner2003-01-141-2/+2
| | | | | | llvm/CodeGen/FunctionLiveVarInfo.h llvm-svn: 5284
* Rename MachineInstrInfo -> TargetInstrInfoChris Lattner2003-01-141-6/+6
| | | | llvm-svn: 5272
* More renamings of Target/Machine*Info to Target/Target*InfoChris Lattner2002-12-291-2/+2
| | | | llvm-svn: 5204
* Remove usage of MachineBasicBlock::getChris Lattner2002-10-281-38/+32
| | | | llvm-svn: 4341
* Make Scheduling Class variables be 'unsigned' instead of 'int'Chris Lattner2002-10-281-3/+3
| | | | llvm-svn: 4333
* *** empty log message ***Chris Lattner2002-10-281-1/+0
| | | | llvm-svn: 4323
* Rename MachineCodeForBasicBlock to MachineBasicBlockChris Lattner2002-10-281-7/+7
| | | | llvm-svn: 4318
* Changed `MachineCodeForMethod' to `MachineFunction'.Misha Brukman2002-10-281-2/+2
| | | | llvm-svn: 4301
* Tell PassManager that this pass does not invalidate the CFG so that dominatorChris Lattner2002-10-231-0/+1
| | | | | | information and Loop info will not have to be recomputed after this runs. llvm-svn: 4269
* Use vectors instead of hash_maps for issueGaps and conflictLists.Vikram S. Adve2002-10-131-15/+9
| | | | | | | These hash lookups were a major sink of time because they happen so often! Also, add option to disable scheduling. llvm-svn: 4138
* * Removed extraneous #includesChris Lattner2002-08-091-1/+0
| | | | | | | * Fixed file headers to be consistent with the rest of LLVM * Other minor fixes llvm-svn: 3277
* - Cleaned up the interface to AnalysisUsage to take analysis class namesChris Lattner2002-08-081-1/+1
| | | | | | | instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument llvm-svn: 3265
* Refix stuff for GCC 2.95, 3.0.4 & 3.1Chris Lattner2002-07-251-6/+6
| | | | llvm-svn: 3094
* now removes deleted nops from MachineCodeForInstructionMehwish Nagda2002-07-251-8/+20
| | | | llvm-svn: 3090
* *** empty log message ***Chris Lattner2002-07-251-1/+1
| | | | llvm-svn: 3075
* *** empty log message ***Chris Lattner2002-07-241-5/+5
| | | | llvm-svn: 3056
* *** empty log message ***Chris Lattner2002-07-221-7/+10
| | | | llvm-svn: 2985
* A single MachineInstr operand may now be both a def and a use,Vikram S. Adve2002-07-081-3/+4
| | | | | | | | | so additional dep. edges have to be added. This was needed to correctly handle conditional move instructions! MachineCodeForBasicBlock is now an annotation on BasicBlock. Renamed "earliestForNode" to "earliestReadyTimeForNode". llvm-svn: 2826
* MEGAPATCH checkin.Chris Lattner2002-06-251-6/+5
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
* Move debug options out of header files so that the header does not haveChris Lattner2002-05-221-2/+3
| | | | | | to #include CommandLine.h. llvm-svn: 2712
* Hide debugging optionsChris Lattner2002-05-201-1/+1
| | | | llvm-svn: 2676
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-5/+1
| | | | llvm-svn: 2397
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-291-0/+2
| | | | | | to make debugging output a lot nicer. llvm-svn: 2395
* s/Method/FunctionChris Lattner2002-04-271-3/+3
| | | | llvm-svn: 2336
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-271-12/+7
| | | | | | | | | | | | | | | - Rename runOnMethod to runOnFunction * Transform getAnalysisUsageInfo into getAnalysisUsage - Method is now const - It now takes one AnalysisUsage object to fill in instead of 3 vectors to fill in - Pass's now specify which other passes they _preserve_ not which ones they modify (be conservative!) - A pass can specify that it preserves all analyses (because it never modifies the underlying program) * s/Method/Function/g in other random places as well llvm-svn: 2333
* No need to reserve space, erasing does not change the size of the container.Chris Lattner2002-04-091-1/+0
| | | | llvm-svn: 2201
* * Add a file header with some informationChris Lattner2002-04-091-35/+25
| | | | | | | | | | * Delete the DelaySlotInfo objects created by the SchedulingManager class. These leaked objects were accounting for 3/4 of the memory leaked by the backend, so this is a relatively major win. * Reorganize SchedulingManager::getDelaySlotInfoForInstr so that it has better code locality (making it easier to read). llvm-svn: 2197
* s/Method/FunctionChris Lattner2002-04-081-2/+2
| | | | llvm-svn: 2180
* Add option to disable scheduling.Vikram S. Adve2002-03-241-39/+53
| | | | | | | | Destroy live-variable information after scheduling so it is recomputed before later phases (e.g., reg. allocation). Use deterministic iterator to enumerate sched graphs. llvm-svn: 1972
* * Silence signed/unsigned warningsChris Lattner2002-02-241-2/+2
| | | | | | * Make it compile with GCC 3.0.4 llvm-svn: 1787
* * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and intoChris Lattner2002-02-121-4/+2
| | | | | | | | | llvm/Support/CFG.h * Make pred & succ iterators for intervals global functions * Add #includes that are now neccesary because BasicBlock.h doesn't include InstrTypes.h anymore llvm-svn: 1750
* * Eliminate the LiveVarSet class, making applyTranferFuncForMInst a staticChris Lattner2002-02-051-1/+0
| | | | | | | | | function in the one .cpp file that uses it. Use ValueSet's instead. * Prepare to delete LiveVarSet.h & LiveVarSet.cpp * Eliminate the ValueSet class, making all old member functions into global templates that will eventually be moved to Support. llvm-svn: 1711
* * The itf exposed by InstrScheduling is now a single function to create the ↵Chris Lattner2002-02-041-36/+51
| | | | | | | | | | | | right pass * InstructionScheduling is now a real pass * InstrSched _uses_ LiveVar analysis, instead of creating it's own copy many times through a loop. In this was LiveVarAnalysis is actually even SHARED by Register allocation. * SchedPriorities is now passed the live var information in llvm-svn: 1700
* Remove dependence on BBLiveVar from InstrSchedulingChris Lattner2002-02-041-2/+1
| | | | | | Minor cleanups llvm-svn: 1688
* * Get machine instrs from Instructin's by using MachineCodeForInstruction::getChris Lattner2002-02-031-10/+10
| | | | | | * Convert a few (*X). to X-> llvm-svn: 1643
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-22/+21
| | | | llvm-svn: 1503
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-271-6/+2
| | | | | | | | from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes llvm-svn: 1400
* Major improvement to how nodes are built for a BB.Vikram S. Adve2001-11-121-15/+9
| | | | | | LLVM instruction is no longer recorded in each node, but BB is. llvm-svn: 1262
* Use node->getOpCode() instead of node->getMachineInstr()->getOpCode().Vikram S. Adve2001-11-091-36/+38
| | | | | | Much nicer. llvm-svn: 1223
* MachineCodeForMethod is now an annotation on class Method.Vikram S. Adve2001-11-081-1/+1
| | | | llvm-svn: 1198
* Modify code that processes delay slots so that it preserves anyVikram S. Adve2001-10-221-11/+36
| | | | | | useful instructions already inserted into delay slots. llvm-svn: 945
* Don't insert useful instructions in delay slot of a RETURN.Vikram S. Adve2001-10-101-26/+31
| | | | llvm-svn: 721
* Bug fixes:Vikram S. Adve2001-09-301-378/+429
| | | | | | | | | | | (1) Ensure that delay slot instructions are not moved out of place (this was happening for some CALL instructions). Basically, we need to move all delay slot instructions out of the graph and handle them along with the delayed control transfer instruction. (2) Mark scheduled instructions correctly when instructions are scheduled in more than one cycle in a single step (due to delay slots). llvm-svn: 678
* Add new entry/exit edges when removing delay slot nodes from the graph.Vikram S. Adve2001-09-181-20/+36
| | | | | | Renamed some header files. llvm-svn: 610
* Chris seems fond of #include <vector>. Fix these. Also convert use list inChris Lattner2001-09-141-1/+1
| | | | | | | | Value to a vector instead of a list. Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling llvm-svn: 572
* Split Target/Machine.h into three files:Chris Lattner2001-09-141-4/+0
| | | | | | | | | * Machine.h * InstInfo.h * SchedInfo.h TODO: Split out reg info stuff llvm-svn: 567
* Make a new llvm/Target #include directory.Chris Lattner2001-09-141-1/+1
| | | | | | | | Move files from lib/CodeGen/TargetMachine to lib/Target Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h} Prepare to split TargetMachine.h into several smaller files llvm-svn: 566
* Checkin changes to:Chris Lattner2001-09-141-8/+8
| | | | | | | | | 1. Clean up the TargetMachine structure. No more wierd pointers that have to be cast around and taken care of by the target. 2. Instruction Scheduling now takes the schedinfo as an argument. The same should be done with the instinfo, it just isn't now. llvm-svn: 565
OpenPOWER on IntegriCloud