| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | For targets with FABS/FNEG support, lower copysign to an integer load, | Chris Lattner | 2006-03-13 | 1 | -2/+25 | |
| | | | | | | | | | | a select and FABS/FNEG. This speeds up a trivial (aka stupid) copysign benchmark I wrote from 6.73s to 2.64s, woo. llvm-svn: 26723 | |||||
| * | Don't advance the hazard recognizer when there are no hazards and no ↵ | Chris Lattner | 2006-03-12 | 1 | -25/+40 | |
| | | | | | | | | | | | | instructions to be emitted. Don't add one to the latency of a completed instruction if the latency of the op is 0. llvm-svn: 26718 | |||||
| * | Chain operands aren't real uses: they don't require the full latency of the | Chris Lattner | 2006-03-12 | 1 | -4/+10 | |
| | | | | | | | predecessor to finish before they can start. llvm-svn: 26717 | |||||
| * | As a pending queue data structure to keep track of instructions whose | Chris Lattner | 2006-03-12 | 1 | -36/+62 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | operands have all issued, but whose results are not yet available. This allows us to compile: int G; int test(int A, int B, int* P) { return (G+A)*(B+1); } to: _test: lis r2, ha16(L_G$non_lazy_ptr) addi r4, r4, 1 lwz r2, lo16(L_G$non_lazy_ptr)(r2) lwz r2, 0(r2) add r2, r2, r3 mullw r3, r2, r4 blr instead of this, which has a stall between the lis/lwz: _test: lis r2, ha16(L_G$non_lazy_ptr) lwz r2, lo16(L_G$non_lazy_ptr)(r2) addi r4, r4, 1 lwz r2, 0(r2) add r2, r2, r3 mullw r3, r2, r4 blr llvm-svn: 26716 | |||||
| * | rename priorityqueue -> availablequeue. When a node is scheduled, remember | Chris Lattner | 2006-03-11 | 1 | -34/+37 | |
| | | | | | | | which cycle it lands on. llvm-svn: 26714 | |||||
| * | Make CurrCycle a local var instead of an instance var | Chris Lattner | 2006-03-11 | 1 | -19/+20 | |
| | | | | | llvm-svn: 26713 | |||||
| * | Move some methods around so that BU specific code is together, TD specific code | Chris Lattner | 2006-03-11 | 1 | -236/+245 | |
| | | | | | | | is together, and direction independent code is together. llvm-svn: 26712 | |||||
| * | merge preds/chainpreds -> preds set | Chris Lattner | 2006-03-11 | 1 | -93/+61 | |
| | | | | | | | | | | merge succs/chainsuccs -> succs set This has no functionality change, simplifies the code, and reduces the size of sunits. llvm-svn: 26711 | |||||
| * | Added a parameter to control whether Constant::getStringValue() would chop | Evan Cheng | 2006-03-10 | 1 | -1/+1 | |
| | | | | | | | off the result string at the first null terminator. llvm-svn: 26704 | |||||
| * | scrape out bits of llvm-db | Chris Lattner | 2006-03-10 | 1 | -9/+0 | |
| | | | | | llvm-svn: 26701 | |||||
| * | Move simple-selector-specific types to the simple selector. | Chris Lattner | 2006-03-10 | 1 | -0/+202 | |
| | | | | | llvm-svn: 26693 | |||||
| * | Simplify the interface to the schedulers, to not pass the selected heuristicin. | Chris Lattner | 2006-03-10 | 2 | -9/+28 | |
| | | | | | llvm-svn: 26692 | |||||
| * | Move some simple-sched-specific instance vars to the simple scheduler. | Chris Lattner | 2006-03-10 | 3 | -6/+30 | |
| | | | | | llvm-svn: 26690 | |||||
| * | prune #includes | Chris Lattner | 2006-03-10 | 1 | -5/+0 | |
| | | | | | llvm-svn: 26689 | |||||
| * | move some simple scheduler methods into the simple scheduler | Chris Lattner | 2006-03-10 | 2 | -235/+266 | |
| | | | | | llvm-svn: 26688 | |||||
| * | Make EmitNode take a SDNode instead of a NodeInfo* | Chris Lattner | 2006-03-10 | 2 | -12/+6 | |
| | | | | | llvm-svn: 26687 | |||||
| * | Move the VRBase field from NodeInfo to being a separate, explicit, map. | Chris Lattner | 2006-03-10 | 2 | -13/+27 | |
| | | | | | llvm-svn: 26686 | |||||
| * | no need to build groups anymore | Chris Lattner | 2006-03-10 | 1 | -2/+0 | |
| | | | | | llvm-svn: 26684 | |||||
| * | Create SUnits directly from the SelectionDAG. | Chris Lattner | 2006-03-10 | 1 | -87/+87 | |
| | | | | | llvm-svn: 26683 | |||||
| * | Push PrepareNodeInfo/IdentifyGroups down the inheritance hierarchy | Chris Lattner | 2006-03-10 | 3 | -4/+10 | |
| | | | | | llvm-svn: 26682 | |||||
| * | Teach the latency scheduler some new tricks. In particular, to break ties, | Chris Lattner | 2006-03-10 | 1 | -9/+156 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | keep track of a sense of "mobility", i.e. how many other nodes scheduling one node will free up. For something like this: float testadd(float *X, float *Y, float *Z, float *W, float *V) { return (*X+*Y)*(*Z+*W)+*V; } For example, this makes us schedule *X then *Y, not *X then *Z. The former allows us to issue the add, the later only lets us issue other loads. This turns the above code from this: _testadd: lfs f0, 0(r3) lfs f1, 0(r6) lfs f2, 0(r4) lfs f3, 0(r5) fadds f0, f0, f2 fadds f1, f3, f1 lfs f2, 0(r7) fmadds f1, f0, f1, f2 blr into this: _testadd: lfs f0, 0(r6) lfs f1, 0(r5) fadds f0, f1, f0 lfs f1, 0(r4) lfs f2, 0(r3) fadds f1, f2, f1 lfs f2, 0(r7) fmadds f1, f1, f0, f2 blr llvm-svn: 26680 | |||||
| * | add an aggregate method for reinserting scheduled nodes, add a callback for | Chris Lattner | 2006-03-10 | 1 | -8/+23 | |
| | | | | | | | priority impls that want to be notified when a node is scheduled llvm-svn: 26678 | |||||
| * | Fix VC++ build breakage. | Jeff Cohen | 2006-03-10 | 1 | -3/+3 | |
| | | | | | llvm-svn: 26676 | |||||
| * | remove dbg_declare, it's not used yet. | Chris Lattner | 2006-03-09 | 2 | -5/+0 | |
| | | | | | llvm-svn: 26659 | |||||
| * | back out my previous hack | Chris Lattner | 2006-03-09 | 2 | -4/+4 | |
| | | | | | llvm-svn: 26650 | |||||
| * | remove temporary option | Chris Lattner | 2006-03-09 | 1 | -3/+1 | |
| | | | | | llvm-svn: 26646 | |||||
| * | temporary hack to get the build working again, apparently a header | Chris Lattner | 2006-03-09 | 2 | -4/+4 | |
| | | | | | | | commit was forgotten llvm-svn: 26642 | |||||
| * | Move bit field endianness to backend. | Jim Laskey | 2006-03-09 | 2 | -10/+29 | |
| | | | | | llvm-svn: 26639 | |||||
| * | yes yes, enabled debug output is bad | Chris Lattner | 2006-03-09 | 1 | -3/+0 | |
| | | | | | llvm-svn: 26637 | |||||
| * | switch the t-d scheduler to use a really dumb and trivial critical path | Chris Lattner | 2006-03-09 | 1 | -1/+104 | |
| | | | | | | | latency priority function. llvm-svn: 26636 | |||||
| * | Pull latency information for target instructions out of the latency tables. :) | Chris Lattner | 2006-03-09 | 1 | -46/+80 | |
| | | | | | | | | | | Only enable this with -use-sched-latencies, I'll enable it by default with a clean nightly tester run tonight. PPC is the only target that provides latency info currently. llvm-svn: 26634 | |||||
| * | don't copy all itinerary data | Chris Lattner | 2006-03-09 | 1 | -1/+1 | |
| | | | | | llvm-svn: 26633 | |||||
| * | PriorityQueue is an instance var, use it. | Chris Lattner | 2006-03-09 | 1 | -39/+33 | |
| | | | | | llvm-svn: 26632 | |||||
| * | add some comments | Chris Lattner | 2006-03-09 | 1 | -8/+13 | |
| | | | | | llvm-svn: 26631 | |||||
| * | Refactor the priority mechanism one step further: now that it is a separate | Chris Lattner | 2006-03-09 | 1 | -136/+185 | |
| | | | | | | | | | class, sever its implementation from the interface. Now we can provide new implementations of the same interface (priority computation) without touching the scheduler itself. llvm-svn: 26630 | |||||
| * | Get rid of the multiple copies of getStringValue. Now a Constant:: method. | Jim Laskey | 2006-03-08 | 3 | -61/+3 | |
| | | | | | llvm-svn: 26616 | |||||
| * | Split the priority function computation and priority queue management out | Chris Lattner | 2006-03-08 | 1 | -113/+150 | |
| | | | | | | | of the ScheduleDAGList class into a new SchedulingPriorityQueue class. llvm-svn: 26613 | |||||
| * | switch from an explicitly managed list of SUnits to a simple vector of sunits | Chris Lattner | 2006-03-08 | 1 | -35/+28 | |
| | | | | | llvm-svn: 26612 | |||||
| * | Shrinkify some fields, fit to 80 columns | Chris Lattner | 2006-03-08 | 1 | -11/+11 | |
| | | | | | llvm-svn: 26611 | |||||
| * | revert the previous patch, didn't mean to check it in yet | Chris Lattner | 2006-03-08 | 1 | -25/+2 | |
| | | | | | llvm-svn: 26610 | |||||
| * | remove "Slot", it is dead | Chris Lattner | 2006-03-08 | 2 | -34/+56 | |
| | | | | | llvm-svn: 26609 | |||||
| * | Change the interface for getting a target HazardRecognizer to be more clean. | Chris Lattner | 2006-03-08 | 3 | -18/+15 | |
| | | | | | llvm-svn: 26608 | |||||
| * | libstdc++-v3 was failing to build. Needed to handle composite types with empty | Jim Laskey | 2006-03-08 | 1 | -5/+8 | |
| | | | | | | | members (running into a zero initializer.) llvm-svn: 26607 | |||||
| * | Use "llvm.metadata" section for debug globals. Filter out these globals in the | Jim Laskey | 2006-03-07 | 2 | -2/+9 | |
| | | | | | | | asm printer. llvm-svn: 26599 | |||||
| * | Switch to using a numeric id for anchors. | Jim Laskey | 2006-03-07 | 1 | -12/+28 | |
| | | | | | llvm-svn: 26598 | |||||
| * | Bitfield support. | Jim Laskey | 2006-03-07 | 1 | -2/+14 | |
| | | | | | llvm-svn: 26593 | |||||
| * | Fix some formatting, when looking for hazards, prefer target nodes over | Chris Lattner | 2006-03-07 | 1 | -7/+15 | |
| | | | | | | | things like copyfromreg. llvm-svn: 26586 | |||||
| * | update file comment | Chris Lattner | 2006-03-06 | 1 | -3/+8 | |
| | | | | | llvm-svn: 26573 | |||||
| * | Remove some code that doesn't make sense | Evan Cheng | 2006-03-06 | 1 | -12/+5 | |
| | | | | | llvm-svn: 26572 | |||||
| * | Remove SUnit::Priority1: it is re-calculated on demand as number of live | Evan Cheng | 2006-03-06 | 1 | -35/+25 | |
| | | | | | | | range to be generated. llvm-svn: 26570 | |||||

