summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/InstrSched/SchedGraph.cpp
Commit message (Collapse)AuthorAgeFilesLines
* InstrSched is SparcV9-specific and so has been moved to lib/Target/SparcV9/Misha Brukman2004-10-081-737/+0
| | | | llvm-svn: 16849
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.Brian Gaeke2004-08-181-1/+2
| | | | llvm-svn: 15906
* Move MachineCodeForInstruction.h and MachineFunctionInfo.h into ↵Chris Lattner2004-08-161-1/+1
| | | | | | lib/Target/SparcV9 llvm-svn: 15830
* Fix #includes of i*.h => Instructions.h as per PR403:Chris Lattner2004-07-291-1/+1
| | | | | | http://llvm.cs.uiuc.edu/PR403 . llvm-svn: 15331
* Fix for PR341Chris Lattner2004-07-151-2/+2
| | | | llvm-svn: 14845
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+1
| | | | llvm-svn: 14622
* Adjust to the new TargetMachine interfaceChris Lattner2004-06-021-12/+12
| | | | llvm-svn: 13957
* Include SparcV9RegInfo.h instead of TargetRegInfo.h. This serves as a bit ofBrian Gaeke2004-04-231-1/+1
| | | | | | | documentation that this module needs to be made independent of the register file description of the current target. llvm-svn: 13125
* Eliminate operator[] is deprecated warningsChris Lattner2004-02-181-16/+21
| | | | llvm-svn: 11578
* Remove getAllocatedRegNum(). Use getReg() instead.Alkis Evlogimenos2004-02-131-4/+4
| | | | llvm-svn: 11393
* Change MachineBasicBlock's vector of MachineInstr pointers into anAlkis Evlogimenos2004-02-121-8/+9
| | | | | | | | | ilist of MachineInstr objects. This allows constant time removal and insertion of MachineInstr instances from anywhere in each MachineBasicBlock. It also allows for constant time splicing of MachineInstrs into or out of MachineBasicBlocks. llvm-svn: 11340
* getOpCode() --> getOpcode().Brian Gaeke2004-02-121-14/+14
| | | | llvm-svn: 11339
* Make SchedGraph::dump() use SchedGraphNodeCommon's const_iteratorBrian Gaeke2004-02-091-25/+14
| | | | | | | | | instead of randomly groping about inside its outEdges array. Make SchedGraph::addDummyEdges() use getNumOutEdges() instead of outEdges.size(). Get rid of ifdefed-out code in SchedGraph::buildGraph(). llvm-svn: 11238
* Change interface of MachineOperand as follows:Alkis Evlogimenos2003-12-141-19/+16
| | | | | | | | | | | | | | | a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse() b) add isUse(), isDef() c) rename opHiBits32() to isHiBits32(), opLoBits32() to isLoBits32(), opHiBits64() to isHiBits64(), opLoBits64() to isLoBits64(). This results to much more readable code, for example compare "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used very often in the code. llvm-svn: 10461
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Let's not forget about our friends -- Constant Pool indices.Misha Brukman2003-11-061-0/+1
| | | | llvm-svn: 9750
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Fixed two double free bugs that caused llc to segfault or run forever.John Criswell2003-08-281-5/+21
| | | | llvm-svn: 8191
* Moved index into BB to common graph class because its needed by ↵Tanya Lattner2003-08-281-2/+1
| | | | | | ModuloSchedGraph. llvm-svn: 8174
* *** empty log message ***Tanya Lattner2003-08-271-215/+147
| | | | llvm-svn: 8153
* First version of SchedGraph common class and refactoring of SchedGraph.Tanya Lattner2003-08-251-212/+29
| | | | llvm-svn: 8148
* A def. operand of a machine instruction may be an ordinary Value*,Vikram S. Adve2003-07-021-13/+12
| | | | | | | | not just an Instruction*, at least in one unfortunate case: the first operand to the va_arg instruction. Modify ValueToDefVecMap to map from Value*, not Instruction*. llvm-svn: 7052
* Changes to allow explicit physical register arguments that have beenVikram S. Adve2003-05-311-37/+90
| | | | | | | | | | preallocated. While reg-to-reg dependences were already handled, this change required new code for adding edges to/from call instructions. This was part of the extensive changes to the way code generation occurs for function call arguments and return values. See log for CodeGen/PhyRegAlloc.cpp. llvm-svn: 6467
* (1) Added special register class containing (for now) %fsr.Vikram S. Adve2003-05-271-13/+14
| | | | | | | | | | | | | Fixed spilling of %fcc[0-3] which are part of %fsr. (2) Moved some machine-independent reg-class code to class TargetRegInfo from SparcReg{Class,}Info. (3) Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly() and related functions and flags. Fixed several bugs where only "isDef" was being checked, not "isDefAndUse". llvm-svn: 6341
* Cleaned up code layout. No functional changes.Misha Brukman2003-05-221-232/+226
| | | | llvm-svn: 6304
* Kill `using' directives.Misha Brukman2003-05-221-28/+25
| | | | llvm-svn: 6301
* Rename MachineInstrInfo -> TargetInstrInfoChris Lattner2003-01-141-6/+6
| | | | llvm-svn: 5272
* More renamings of Target/Machine*Info to Target/Target*InfoChris Lattner2002-12-291-1/+1
| | | | llvm-svn: 5204
* Remove usage of MachineBasicBlock::getChris Lattner2002-10-281-125/+44
| | | | llvm-svn: 4341
* Rename the redundant MachineOperand::getOperandType() to ↵Chris Lattner2002-10-281-21/+20
| | | | | | MachineOperand::getType() llvm-svn: 4331
* Add #includes now that MachineInstr.h doesn't include ↵Chris Lattner2002-10-281-0/+1
| | | | | | llvm/Target/MachineInstrInfo.h llvm-svn: 4327
* Rename MachineCodeForBasicBlock to MachineBasicBlockChris Lattner2002-10-281-6/+6
| | | | llvm-svn: 4318
* Major bug fix: was not adding CD edges for RETURNs!Vikram S. Adve2002-10-131-8/+10
| | | | llvm-svn: 4137
* Very minor cleanupsChris Lattner2002-08-091-23/+15
| | | | llvm-svn: 3271
* *** empty log message ***Chris Lattner2002-07-251-2/+2
| | | | llvm-svn: 3075
* *** empty log message ***Chris Lattner2002-07-241-1/+0
| | | | llvm-svn: 3056
* A single MachineInstr operand may now be both a def and a use,Vikram S. Adve2002-07-081-83/+61
| | | | | | | | | 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-1/+1
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-2/+0
| | | | llvm-svn: 2397
* Clean up the ownership model a bit so that nodes actually get deleted moreChris Lattner2002-04-091-12/+8
| | | | | | | frequently. This still leaks edges quite a bit, but it leaks no nodes (I think). llvm-svn: 2190
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-071-8/+8
| | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. llvm-svn: 2144
* Minor changes.Vikram S. Adve2002-03-241-7/+3
| | | | llvm-svn: 1971
* * Straighten out #includesChris Lattner2002-02-031-10/+7
| | | | | | * Switch from MachineCodeForVMInstr to MachineCodeForInstruction model llvm-svn: 1644
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-47/+45
| | | | llvm-svn: 1503
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-271-19/+11
| | | | | | | | from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes llvm-svn: 1400
* Stuff after a #endif is not valid CPP input and breaks some compilersChris Lattner2001-11-261-3/+3
| | | | llvm-svn: 1375
* Eliminate most uses of the machine instruction vector for each LLVM instr,Vikram S. Adve2001-11-121-53/+67
| | | | | | | | since some m. instr. may be generated by LLVM instrs. in other blocks. Handle non-SSA (anti and output) edges and true edges uniformly by working with machine instructions alone. llvm-svn: 1269
* Major improvement to how nodes are built for a BB.Vikram S. Adve2001-11-121-18/+62
| | | | | | LLVM instruction is no longer recorded in each node, but BB is. llvm-svn: 1262
* Only add true dep. edges from an earlier to a later instruction.Vikram S. Adve2001-11-111-29/+35
| | | | | | | This wasn't a problem until we started putting copies for Phi values that produced cycles in the SchedGraph! llvm-svn: 1254
OpenPOWER on IntegriCloud