summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/InstrSched
Commit message (Collapse)AuthorAgeFilesLines
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-041-1/+1
| | | | | | | Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() llvm-svn: 1408
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-274-29/+17
| | | | | | | | 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-122-63/+75
| | | | | | | | 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-124-37/+75
| | | | | | 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-112-31/+40
| | | | | | | This wasn't a problem until we started putting copies for Phi values that produced cycles in the SchedGraph! llvm-svn: 1254
* Use node->getOpCode() instead of node->getMachineInstr()->getOpCode().Vikram S. Adve2001-11-091-36/+38
| | | | | | Much nicer. llvm-svn: 1223
* Major change to how defs are found when adding dependences (theyVikram S. Adve2001-11-082-171/+69
| | | | | | | | are now found as part of the initial walk of the machine code). Also memory load/store instructions can be generated for non-memory LLVM instructions, which wasn't handled before. It is now. llvm-svn: 1199
* MachineCodeForMethod is now an annotation on class Method.Vikram S. Adve2001-11-081-1/+1
| | | | llvm-svn: 1198
* Modified graph construction to use one pass to find all defs.Vikram S. Adve2001-11-052-56/+144
| | | | | | | Avoids having to handle some special cases that cause complex interactions with instr. selection. llvm-svn: 1138
* Allow combinations of True/Anti/Output flags for each edge toVikram S. Adve2001-10-281-7/+16
| | | | | | support, e.g., dependences on Call instructions. llvm-svn: 1009
* Add edges between call instructions and (a) load/store instructions, andVikram S. Adve2001-10-281-34/+111
| | | | | | | (b) any instructions that use or set CC registers. Whether or not the latter are needed really should be machine-dependent. llvm-svn: 1008
* 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
* Separate VM instruction that generates the instructions that compute a valueVikram S. Adve2001-10-171-1/+2
| | | | | | | from the value itself (the one causing an edge) because the latter may be a temporary used within the instruction sequence for the VM instruction. llvm-svn: 858
* *** empty log message ***Vikram S. Adve2001-10-171-15/+24
| | | | llvm-svn: 857
* * Fix privacy issues on RegToRefVecMapChris Lattner2001-10-131-5/+5
| | | | | | * Fix initialization order problems... llvm-svn: 762
* Add graph edges due to implicit refs in each machine instruction.Vikram S. Adve2001-10-111-27/+52
| | | | llvm-svn: 724
* Don't insert useful instructions in delay slot of a RETURN.Vikram S. Adve2001-10-102-27/+32
| | | | llvm-svn: 721
* Commit more code over to new cast styleChris Lattner2001-10-021-2/+3
| | | | llvm-svn: 697
* Convert more code to use new style castsChris Lattner2001-10-011-2/+1
| | | | | | Eliminate old style casts from value.h llvm-svn: 696
* Add support for new style castsChris Lattner2001-10-011-1/+1
| | | | llvm-svn: 694
* 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
* Minor changes for bug fixes in SchedGraph.cpp.Vikram S. Adve2001-09-301-9/+15
| | | | llvm-svn: 677
* Two bug fixes:Vikram S. Adve2001-09-301-78/+177
| | | | | | | (1) Add edges for Values that are written by multiple m/c instructions (2) Add edges for LLVM operands that are not machine operands (e.g., Call args) llvm-svn: 676
* Pull iterators out of CFG.h and CFGdecls and put them in Support directoryChris Lattner2001-09-283-9/+34
| | | | llvm-svn: 664
* Format file header.Vikram S. Adve2001-09-181-19/+19
| | | | llvm-svn: 611
* 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
* Moved erase edge functions to class SchedGraph.Vikram S. Adve2001-09-181-42/+93
| | | | | | Add new dummy edges when deleting existing edges. llvm-svn: 609
* Renamed some header files.Vikram S. Adve2001-09-181-20/+20
| | | | llvm-svn: 608
* Moved erase-edge functions from SchedGraphNode to SchedGraph.Vikram S. Adve2001-09-181-10/+16
| | | | | | Renamed some header files. llvm-svn: 607
* Add a forward decl, oops.Chris Lattner2001-09-141-0/+1
| | | | llvm-svn: 573
* Chris seems fond of #include <vector>. Fix these. Also convert use list inChris Lattner2001-09-145-3/+701
| | | | | | | | 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-142-9/+2
| | | | | | | | | * 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-142-2/+2
| | | | | | | | 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
* Use predicate for Value type testChris Lattner2001-09-101-2/+1
| | | | llvm-svn: 540
* I really don't like it when people break the build.Chris Lattner2001-09-091-1/+1
| | | | llvm-svn: 510
* Remove unneeded #includesChris Lattner2001-09-071-18/+2
| | | | llvm-svn: 489
* Remove unnecesary #include add dump calls pulled out of .h fileChris Lattner2001-09-071-6/+10
| | | | llvm-svn: 488
* * Remove lots of #includesChris Lattner2001-09-071-52/+41
| | | | llvm-svn: 487
* Makefile for InstrSched/Vikram S. Adve2001-08-281-0/+7
| | | | llvm-svn: 403
* Implementation of instruction scheduling for LLVM.Vikram S. Adve2001-08-281-0/+1464
| | | | | | Currently schedules one basic block at a time. llvm-svn: 396
* Class that encapsulates priority heuristics for instruction scheduling.Vikram S. Adve2001-08-281-0/+297
| | | | llvm-svn: 395
* Scheduling DAG for instruction scheduling. Currently for a single basic block.Vikram S. Adve2001-08-281-0/+759
llvm-svn: 394
OpenPOWER on IntegriCloud