| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | No need to keep track of top and bottom nodes in a group since the vector is | Evan Cheng | 2006-01-25 | 1 | -5/+0 |
| | | | | | | | already in order. Thanks Jim for pointing it out. llvm-svn: 25608 | ||||
| * | Keep track of bottom / top element of a set of flagged nodes. | Evan Cheng | 2006-01-25 | 1 | -1/+6 |
| | | | | | llvm-svn: 25600 | ||||
| * | Factor out more instruction scheduler code to the base class. | Evan Cheng | 2006-01-23 | 1 | -6/+234 |
| | | | | | llvm-svn: 25532 | ||||
| * | Do some code refactoring on Jim's scheduler in preparation of the new list | Evan Cheng | 2006-01-21 | 1 | -1127/+24 |
| | | | | | | | scheduler. llvm-svn: 25493 | ||||
| * | purity++ | Duraid Madina | 2005-12-29 | 1 | -0/+1 |
| | | | | | llvm-svn: 25041 | ||||
| * | Disengage DEBUG_LOC from non-PPC targets. | Jim Laskey | 2005-12-21 | 1 | -1/+1 |
| | | | | | llvm-svn: 24919 | ||||
| * | Amend comment. | Jim Laskey | 2005-12-19 | 1 | -1/+2 |
| | | | | | llvm-svn: 24861 | ||||
| * | Create a strong dependency for loads following stores. This will leave a | Jim Laskey | 2005-12-19 | 1 | -2/+6 |
| | | | | | | | latency period between the two. llvm-svn: 24860 | ||||
| * | Keep VC++ happy. | Jeff Cohen | 2005-12-18 | 1 | -0/+1 |
| | | | | | llvm-svn: 24835 | ||||
| * | Fix a bug Sabre was having where the DAG root was a group. The group dominator | Jim Laskey | 2005-12-18 | 1 | -1/+6 |
| | | | | | | | needed to be added to the ordering list, not the first member of the group. llvm-svn: 24816 | ||||
| * | Groups were not emitted if the dominator node and the node in the ordering list | Jim Laskey | 2005-12-18 | 1 | -10/+6 |
| | | | | | | | were not the same node. Ultimately the test was bogus. llvm-svn: 24815 | ||||
| * | Simplify code | Chris Lattner | 2005-12-18 | 1 | -7/+2 |
| | | | | | llvm-svn: 24806 | ||||
| * | Support multiple ValueTypes per RegisterClass, needed for upcoming vector | Nate Begeman | 2005-12-01 | 1 | -1/+1 |
| | | | | | | | work. This change has no effect on generated code. llvm-svn: 24563 | ||||
| * | Added an index field to GlobalAddressSDNode so it can represent X+12, etc. | Evan Cheng | 2005-11-30 | 1 | -1/+1 |
| | | | | | llvm-svn: 24523 | ||||
| * | Switch the allnodes list from a vector of pointers to an ilist of nodes.This ↵ | Chris Lattner | 2005-11-09 | 1 | -11/+8 |
| | | | | | | | | | eliminates the vector, allows constant time removal of a node froma graph, and makes iteration over the all nodes list stable when adding nodes to the graph. llvm-svn: 24263 | ||||
| * | Explicitly initialize some instance vars | Chris Lattner | 2005-11-08 | 1 | -4/+5 |
| | | | | | llvm-svn: 24247 | ||||
| * | Let's try ignoring resource utilization on the backward pass. | Jim Laskey | 2005-11-07 | 1 | -0/+2 |
| | | | | | llvm-svn: 24231 | ||||
| * | Fix logic bug in finding retry slot in tally. | Jim Laskey | 2005-11-05 | 1 | -15/+33 |
| | | | | | llvm-svn: 24188 | ||||
| * | Fix a warning | Jim Laskey | 2005-11-04 | 1 | -0/+1 |
| | | | | | llvm-svn: 24187 | ||||
| * | Scheduling now uses itinerary data. | Jim Laskey | 2005-11-04 | 1 | -166/+201 |
| | | | | | llvm-svn: 24180 | ||||
| * | 1. Embed and not inherit vector for NodeGroup. | Jim Laskey | 2005-10-31 | 1 | -20/+39 |
| | | | | | | | | | 2. Iterate operands and not uses (performance.) 3. Some long pending comment changes. llvm-svn: 24119 | ||||
| * | Reduce the number of copies emitted as machine instructions by | Chris Lattner | 2005-10-30 | 1 | -16/+57 |
| | | | | | | | | | | | | | | | | | | generating results in vregs that will need them. In the case of something like this: CopyToReg((add X, Y), reg1024), we no longer emit code like this: reg1025 = add X, Y reg1024 = reg 1025 Instead, we emit: reg1024 = add X, Y Whoa! :) llvm-svn: 24111 | ||||
| * | Inhibit instructions from being pushed before function calls. This will | Jim Laskey | 2005-10-13 | 1 | -3/+55 |
| | | | | | | | minimize unnecessary spilling. llvm-svn: 23710 | ||||
| * | Finally committing to the new scheduler. Still -sched=none by default. | Jim Laskey | 2005-10-12 | 1 | -249/+125 |
| | | | | | llvm-svn: 23702 | ||||
| * | When emiting a CopyFromReg and the source is already a vreg, do not bother | Chris Lattner | 2005-10-09 | 1 | -27/+31 |
| | | | | | | | | | | | | creating a new vreg and inserting a copy: just use the input vreg directly. This speeds up the compile (e.g. about 5% on mesa with a debug build of llc) by not adding a bunch of copies and vregs to be coallesced away. On mesa, for example, this reduces the number of intervals from 168601 to 129040 going into the coallescer. llvm-svn: 23671 | ||||
| * | Reverting to version - until problem isolated. | Jim Laskey | 2005-10-04 | 1 | -70/+238 |
| | | | | | llvm-svn: 23622 | ||||
| * | Refactor gathering node info and emission. | Jim Laskey | 2005-10-03 | 1 | -238/+70 |
| | | | | | llvm-svn: 23610 | ||||
| * | silence a bogus warning | Chris Lattner | 2005-10-02 | 1 | -1/+1 |
| | | | | | llvm-svn: 23595 | ||||
| * | Add assertions to the trivial scheduler to check that the value types match | Chris Lattner | 2005-10-02 | 1 | -0/+21 |
| | | | | | | | up between defs and uses. llvm-svn: 23590 | ||||
| * | Codegen CopyFromReg using the regclass that matches the valuetype of the | Chris Lattner | 2005-10-02 | 1 | -9/+11 |
| | | | | | | | destination vreg. llvm-svn: 23586 | ||||
| * | Add some very paranoid checking for operand/result reg class matchup | Chris Lattner | 2005-10-01 | 1 | -3/+20 |
| | | | | | | | | For instructions that define multiple results, use the right regclass to define the result, not always the rc of result #0 llvm-svn: 23580 | ||||
| * | typo | Jim Laskey | 2005-10-01 | 1 | -1/+1 |
| | | | | | llvm-svn: 23574 | ||||
| * | 1. Simplify the gathering of node groups. | Jim Laskey | 2005-10-01 | 1 | -54/+22 |
| | | | | | | | 2. Printing node groups when displaying nodes. llvm-svn: 23573 | ||||
| * | 1. Made things node-centric (from operand). | Jim Laskey | 2005-09-30 | 1 | -244/+609 |
| | | | | | | | | | 2. Added node groups to handle flagged nodes. 3. Started weaning simple scheduling off existing emitter. llvm-svn: 23566 | ||||
| * | Silence VC++ redeclaration warnings. | Jeff Cohen | 2005-09-29 | 1 | -4/+6 |
| | | | | | llvm-svn: 23516 | ||||
| * | Remove some redundancies. | Jim Laskey | 2005-09-27 | 1 | -10/+10 |
| | | | | | llvm-svn: 23469 | ||||
| * | Addition of a simple two pass scheduler. This version is currently hacked up | Jim Laskey | 2005-09-26 | 1 | -80/+771 |
| | | | | | | | | | for testing and will require target machine info to do a proper scheduling. The simple scheduler can be turned on using -sched=simple (defaults to -sched=none) llvm-svn: 23455 | ||||
| * | Fix the release build, noticed by Eric van Riet Paap | Chris Lattner | 2005-09-02 | 1 | -1/+1 |
| | | | | | llvm-svn: 23215 | ||||
| * | It is NDEBUG not _NDEBUG | Chris Lattner | 2005-09-01 | 1 | -2/+2 |
| | | | | | llvm-svn: 23186 | ||||
| * | Name this variable to be what it really is! | Chris Lattner | 2005-08-30 | 1 | -4/+4 |
| | | | | | llvm-svn: 23145 | ||||
| * | Handle CopyToReg nodes with flag operands correctly | Chris Lattner | 2005-08-30 | 1 | -1/+6 |
| | | | | | llvm-svn: 23144 | ||||
| * | Add a hack to avoid some horrible code in some cases by always emitting | Chris Lattner | 2005-08-29 | 1 | -12/+31 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | token chains first. For this C function: int test() { int i; for (i = 0; i < 100000; ++i) foo(); } Instead of emitting this (condition before call) .LBB_test_1: ; no_exit addi r30, r30, 1 lis r2, 1 ori r2, r2, 34464 cmpw cr2, r30, r2 bl L_foo$stub bne cr2, .LBB_test_1 ; no_exit Emit this: .LBB_test_1: ; no_exit bl L_foo$stub addi r30, r30, 1 lis r2, 1 ori r2, r2, 34464 cmpw cr0, r30, r2 bne cr0, .LBB_test_1 ; no_exit Which makes it so we don't have to save/restore cr2 in the prolog/epilog of the function. This also makes the code much more similar to what the pattern isel produces. llvm-svn: 23135 | ||||
| * | fix PHI node emission for basic blocks that have select_cc's in them on ppc32 | Chris Lattner | 2005-08-27 | 1 | -2/+3 |
| | | | | | llvm-svn: 23113 | ||||
| * | Call the InsertAtEndOfBasicBlock hook if the usesCustomDAGSchedInserter | Chris Lattner | 2005-08-26 | 1 | -1/+8 |
| | | | | | | | flag is set on an instruction. llvm-svn: 23098 | ||||
| * | Change ConstantPoolSDNode to actually hold the Constant itself instead of | Chris Lattner | 2005-08-26 | 1 | -2/+6 |
| | | | | | | | | | putting it into the constant pool. This allows the isel machinery to create constants that it will end up deciding are not needed, without them ending up in the resultant function constant pool. llvm-svn: 23081 | ||||
| * | Add support for flag operands | Chris Lattner | 2005-08-25 | 1 | -8/+18 |
| | | | | | llvm-svn: 23050 | ||||
| * | Add support for external symbols, and support for variable arity instructions | Chris Lattner | 2005-08-24 | 1 | -5/+12 |
| | | | | | llvm-svn: 23022 | ||||
| * | Add a fast-path for register values. Add support for constant pool entries, | Chris Lattner | 2005-08-22 | 1 | -1/+13 |
| | | | | | | | | | | | | | | | | | | | | | | allowing us to compile this: float %test2(float* %P) { %Q = load float* %P %R = add float %Q, 10.1 ret float %R } to this: _test2: lfs r2, 0(r3) lis r3, ha16(.CPI_test2_0) lfs r3, lo16(.CPI_test2_0)(r3) fadds f1, r2, r3 blr llvm-svn: 22962 | ||||
| * | Add support for frame index nodes | Chris Lattner | 2005-08-21 | 1 | -3/+4 |
| | | | | | llvm-svn: 22956 | ||||
| * | Add support for basic blocks, fix a bug in result # computation | Chris Lattner | 2005-08-21 | 1 | -2/+7 |
| | | | | | llvm-svn: 22948 | ||||

