| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Now that we have int/fp lattice values, implement the SDTCisOpSmallerThanOp | Chris Lattner | 2005-10-14 | 1 | -2/+41 |
| | | | | | | | | | type constraint. This lets tblgen realize that it doesn't need any dynamic type checks for fextend/fround on PPC (and many other targets), because there are only two fp types. llvm-svn: 23730 | ||||
| * | Fairly serious rework of the typing code to add new int/fp lattice values. | Chris Lattner | 2005-10-14 | 2 | -60/+109 |
| | | | | | | | Overall, no functionality change yet though. llvm-svn: 23729 | ||||
| * | simplify the code a bit | Chris Lattner | 2005-10-14 | 1 | -26/+18 |
| | | | | | llvm-svn: 23728 | ||||
| * | Add patterns for FP round/extend | Chris Lattner | 2005-10-14 | 1 | -2/+2 |
| | | | | | llvm-svn: 23727 | ||||
| * | add a new SDTCisOpSmallerThanOp type constraint, and implement ↵ | Chris Lattner | 2005-10-14 | 1 | -0/+13 |
| | | | | | | | fround/fextend in terms of it llvm-svn: 23726 | ||||
| * | Add basic support for recognizing a new SDTCisOpSmallerThanOp type constraint | Chris Lattner | 2005-10-14 | 2 | -1/+13 |
| | | | | | llvm-svn: 23725 | ||||
| * | Implement a couple of new (important) features. | Chris Lattner | 2005-10-14 | 2 | -50/+128 |
| | | | | | | | | | | | | | 1. If an operation has to be int or fp and the target only supports one int or fp type, relize that the op has to have that type. 2. If a target has operations on multiple types, do not emit matching code for patterns involving those operators, since we do not emit the code to check for them yet. This prevents PPC from generating FP ops currently. Also move some code around into more logical places. llvm-svn: 23724 | ||||
| * | Do not let getLegalValueTypes return a list with duplicates in it | Chris Lattner | 2005-10-14 | 1 | -0/+7 |
| | | | | | llvm-svn: 23723 | ||||
| * | fold sext_in_reg, sext_in_reg where both have the same VT. This was | Nate Begeman | 2005-10-14 | 1 | -1/+1 |
| | | | | | | | popping up in Fourinarow. llvm-svn: 23722 | ||||
| * | Allow $ | Chris Lattner | 2005-10-14 | 1 | -1/+1 |
| | | | | | llvm-svn: 23721 | ||||
| * | Relax the checking on zextload generation a bit, since as sabre pointed out | Nate Begeman | 2005-10-14 | 2 | -27/+49 |
| | | | | | | | | | | | you could be AND'ing with the result of a shift that shifts out all the bits you care about, in addition to a constant. Also, move over an add/sub_parts fold from legalize to the dag combiner, where it works for things other than constants. Woot! llvm-svn: 23720 | ||||
| * | Fix errors when compiling with -pedantic | Chris Lattner | 2005-10-14 | 1 | -5/+5 |
| | | | | | llvm-svn: 23719 | ||||
| * | Fix the trunc(load) case, finally allowing crafty and povray to pass | Chris Lattner | 2005-10-13 | 1 | -1/+2 |
| | | | | | llvm-svn: 23718 | ||||
| * | Fix some bugs in (sext (load x)) | Chris Lattner | 2005-10-13 | 1 | -1/+2 |
| | | | | | llvm-svn: 23717 | ||||
| * | When ExpandOp'ing a [SZ]EXTLOAD, make sure to remember that the chain | Chris Lattner | 2005-10-13 | 1 | -2/+28 |
| | | | | | | | is also legal. Add support for ExpandOp'ing raw EXTLOADs too. llvm-svn: 23716 | ||||
| * | Implement PromoteOp for *EXTLOAD, allowing MallocBench/gs to Legalize | Chris Lattner | 2005-10-13 | 1 | -0/+10 |
| | | | | | llvm-svn: 23715 | ||||
| * | Fix the remaining DAGCombiner issues pointed out by sabre. This should fix | Nate Begeman | 2005-10-13 | 1 | -16/+11 |
| | | | | | | | the remainder of the failures introduced by my patch last night. llvm-svn: 23714 | ||||
| * | Fix a minor bug in the dag combiner that broke pcompress2 and some other | Chris Lattner | 2005-10-13 | 1 | -4/+3 |
| | | | | | | | tests. llvm-svn: 23713 | ||||
| * | Updated to be less restrictive on what is matched | Patrick Meredith | 2005-10-13 | 1 | -1/+3 |
| | | | | | llvm-svn: 23712 | ||||
| * | Add support to Legalize for expanding i64 sextload/zextload into hi and lo | Nate Begeman | 2005-10-13 | 1 | -0/+35 |
| | | | | | | | | parts. This should fix the crafty and signed long long unit test failure on x86 last night. llvm-svn: 23711 | ||||
| * | Inhibit instructions from being pushed before function calls. This will | Jim Laskey | 2005-10-13 | 1 | -3/+55 |
| | | | | | | | minimize unnecessary spilling. llvm-svn: 23710 | ||||
| * | apparently one of the makefile changes changed libprofile.so to profile.so | Chris Lattner | 2005-10-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 23709 | ||||
| * | This script is used to remove nodes with the label %tmp(.#)* and all | Patrick Meredith | 2005-10-13 | 1 | -0/+30 |
| | | | | | | | | edges associated with said node from the dot files produced by DSA. llvm-svn: 23708 | ||||
| * | Nate implemented this :) | Chris Lattner | 2005-10-13 | 1 | -2/+0 |
| | | | | | llvm-svn: 23707 | ||||
| * | Move some Legalize functionality over to the DAGCombiner where it belongs. | Nate Begeman | 2005-10-13 | 3 | -149/+79 |
| | | | | | | | Kill some dead code. llvm-svn: 23706 | ||||
| * | SimplifySelectCC is dead | Nate Begeman | 2005-10-13 | 1 | -6/+0 |
| | | | | | llvm-svn: 23705 | ||||
| * | Fix a potential bug with two combine-to's back to back that chris pointed | Nate Begeman | 2005-10-12 | 1 | -4/+14 |
| | | | | | | | | | | | out, where after the first CombineTo() call, the node the second CombineTo wishes to replace may no longer exist. Fix a very real bug with the truncated load optimization on little endian targets, which do not need a byte offset added to the load. llvm-svn: 23704 | ||||
| * | More cool stuff for the dag combiner. We can now finally handle things | Nate Begeman | 2005-10-12 | 1 | -3/+22 |
| | | | | | | | | | | | | | | | | | | | | | | | | | like turning: _foo: fctiwz f0, f1 stfd f0, -8(r1) lwz r2, -4(r1) rlwinm r3, r2, 0, 16, 31 blr into _foo: fctiwz f0,f1 stfd f0,-8(r1) lhz r3,-2(r1) blr Also removed an unncessary constraint from sra -> srl conversion, which should take care of hte only reason we would ever need to handle sra in MaskedValueIsZero, AFAIK. llvm-svn: 23703 | ||||
| * | Finally committing to the new scheduler. Still -sched=none by default. | Jim Laskey | 2005-10-12 | 1 | -249/+125 |
| | | | | | llvm-svn: 23702 | ||||
| * | Added graphviz/gv support for MF. | Jim Laskey | 2005-10-12 | 1 | -0/+22 |
| | | | | | llvm-svn: 23700 | ||||
| * | this passes with the change in predicate | Chris Lattner | 2005-10-11 | 1 | -2/+0 |
| | | | | | llvm-svn: 23699 | ||||
| * | Fix (hopefully the last) issue where LSR is nondeterminstic. When pulling | Chris Lattner | 2005-10-11 | 1 | -8/+14 |
| | | | | | | | | out CSE's of base expressions it could build a result whose order was nondet. llvm-svn: 23698 | ||||
| * | Fix another problem where LSR was being nondeterminstic. Also remove elements | Chris Lattner | 2005-10-11 | 1 | -10/+16 |
| | | | | | | | from the end of a vector instead of the beginning llvm-svn: 23697 | ||||
| * | lsr doesn't emit gep instructions anymore | Chris Lattner | 2005-10-11 | 1 | -1/+1 |
| | | | | | llvm-svn: 23696 | ||||
| * | Fix another lsr-is-nondeterministic case | Chris Lattner | 2005-10-11 | 1 | -6/+10 |
| | | | | | llvm-svn: 23695 | ||||
| * | Fix a powerpc crash on CodeGen/Generic/llvm-ct-intrinsics.ll | Chris Lattner | 2005-10-11 | 1 | -1/+1 |
| | | | | | llvm-svn: 23694 | ||||
| * | Add a canonicalization that got lost, fixing PowerPC/fold-li.ll:SUB | Chris Lattner | 2005-10-11 | 1 | -3/+5 |
| | | | | | llvm-svn: 23693 | ||||
| * | clean up some corner cases | Chris Lattner | 2005-10-10 | 1 | -2/+6 |
| | | | | | llvm-svn: 23692 | ||||
| * | Implement trivial DSE. If two stores are neighbors and store to the same | Chris Lattner | 2005-10-10 | 1 | -0/+29 |
| | | | | | | | | location, replace them with a new store of the last value. This occurs in the same neighborhood in 197.parser, speeding it up about 1.5% llvm-svn: 23691 | ||||
| * | Add support for CombineTo, allowing the dag combiner to replace nodes with | Chris Lattner | 2005-10-10 | 1 | -2/+56 |
| | | | | | | | | | | | | | | | | | | | | | multiple results. Use this support to implement trivial store->load forwarding, implementing CodeGen/PowerPC/store-load-fwd.ll. Though this is the most simple case and can be extended in the future, it is still useful. For example, it speeds up 197.parser by 6.2% by avoiding an LSU reject in xalloc: stw r6, lo16(l5_end_of_array)(r2) addi r2, r5, -4 stwx r5, r4, r2 - lwzx r5, r4, r2 - rlwinm r5, r5, 0, 0, 30 stwx r5, r4, r2 lwz r2, -4(r4) ori r2, r2, 1 llvm-svn: 23690 | ||||
| * | new testcase | Chris Lattner | 2005-10-10 | 1 | -0/+7 |
| | | | | | llvm-svn: 23689 | ||||
| * | Teach the DAGCombiner several new tricks, teaching it how to turn | Nate Begeman | 2005-10-10 | 1 | -32/+46 |
| | | | | | | | | sext_inreg into zext_inreg based on the signbit (fires a lot), srem into urem, etc. llvm-svn: 23688 | ||||
| * | A testcase sitting in my tree | Chris Lattner | 2005-10-10 | 1 | -0/+11 |
| | | | | | llvm-svn: 23687 | ||||
| * | Fix comment | Chris Lattner | 2005-10-10 | 1 | -1/+1 |
| | | | | | llvm-svn: 23686 | ||||
| * | Add ISD::ADD to MaskedValueIsZero | Chris Lattner | 2005-10-10 | 1 | -0/+8 |
| | | | | | llvm-svn: 23685 | ||||
| * | This function is now dead | Chris Lattner | 2005-10-10 | 1 | -110/+0 |
| | | | | | llvm-svn: 23684 | ||||
| * | Enable Nate's excellent DAG combiner work by default. This allows the | Chris Lattner | 2005-10-10 | 2 | -558/+18 |
| | | | | | | | removal of a bunch of ad-hoc and crufty code from SelectionDAG.cpp. llvm-svn: 23682 | ||||
| * | These definitions have been moved to common code. | Chris Lattner | 2005-10-10 | 1 | -199/+0 |
| | | | | | llvm-svn: 23681 | ||||
| * | Pull DAG ISel generation nodes out of the PowerPC backend to where they | Chris Lattner | 2005-10-10 | 2 | -89/+216 |
| | | | | | | | | can be used by other targets. For those targets that want to use it, have at. :) llvm-svn: 23680 | ||||
| * | add a todo for something I noticed | Chris Lattner | 2005-10-09 | 1 | -0/+4 |
| | | | | | llvm-svn: 23679 | ||||

