Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | getPreIndexedLoad -> getIndexedLoad. | Evan Cheng | 2006-10-26 | 1 | -21/+7 | |
| | | | | llvm-svn: 31209 | |||||
* | Trivial patch to speed up legalizing common i64 constants. | Chris Lattner | 2006-10-17 | 1 | -0/+7 | |
| | | | | llvm-svn: 31020 | |||||
* | Reflect MemOpAddrMode change; added a helper to create pre-indexed load. | Evan Cheng | 2006-10-17 | 1 | -4/+68 | |
| | | | | llvm-svn: 31016 | |||||
* | Make it simplier to dump DAGs while in DAGCombiner. Remove a nasty ↵ | Jim Laskey | 2006-10-17 | 1 | -1/+1 | |
| | | | | | | optimization. llvm-svn: 31009 | |||||
* | When SimplifySetCC was moved to the DAGCombiner, it was never removed from | Chris Lattner | 2006-10-14 | 1 | -154/+17 | |
| | | | | | | | | | | SelectionDAG and it has since bitrotted. Remove the copy from SelectionDAG. Next, remove the constant folding piece of DAGCombiner::SimplifySetCC into a new FoldSetCC method which can be used by getNode() and SimplifySetCC. This fixes obscure bugs. llvm-svn: 30952 | |||||
* | Fix a bug where we incorrectly turned '(X & 0) == 0' into '(X & 0) >> -1', | Chris Lattner | 2006-10-13 | 1 | -2/+2 | |
| | | | | | | which is undefined. "0" isn't a power of 2. llvm-svn: 30947 | |||||
* | Merge ISD::TRUNCSTORE to ISD::STORE. Switch to using StoreSDNode. | Evan Cheng | 2006-10-13 | 1 | -30/+67 | |
| | | | | llvm-svn: 30945 | |||||
* | Add RemoveDeadNode to remove a dead node and its (potentially) dead operands. | Evan Cheng | 2006-10-12 | 1 | -0/+33 | |
| | | | | llvm-svn: 30916 | |||||
* | Naming consistency. | Evan Cheng | 2006-10-11 | 1 | -2/+2 | |
| | | | | llvm-svn: 30878 | |||||
* | Jimptables working again on alpha. | Andrew Lenharth | 2006-10-11 | 1 | -1/+1 | |
| | | | | | | As a bonus, use the GOT node instead of the AlphaISD::GOT for internal stuff. llvm-svn: 30873 | |||||
* | FindModifiedNodeSlot needs to add LoadSDNode ivars to create proper ↵ | Evan Cheng | 2006-10-11 | 1 | -0/+9 | |
| | | | | | | SelectionDAGCSEMap ID. llvm-svn: 30866 | |||||
* | SDNode::dump should also print out extension type and VT. | Evan Cheng | 2006-10-10 | 1 | -0/+21 | |
| | | | | llvm-svn: 30860 | |||||
* | Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes. | Evan Cheng | 2006-10-09 | 1 | -35/+56 | |
| | | | | llvm-svn: 30844 | |||||
* | Add getStore() helper function to create ISD::STORE nodes. | Evan Cheng | 2006-10-05 | 1 | -1/+16 | |
| | | | | llvm-svn: 30758 | |||||
* | Combine ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD into ISD::LOADX. Add an | Evan Cheng | 2006-10-04 | 1 | -11/+14 | |
| | | | | | | extra operand to LOADX to specify the exact value extension type. llvm-svn: 30714 | |||||
* | Comments on JumpTableness | Andrew Lenharth | 2006-09-26 | 1 | -0/+1 | |
| | | | | llvm-svn: 30615 | |||||
* | Fold extract_element(cst) to cst | Chris Lattner | 2006-09-19 | 1 | -2/+8 | |
| | | | | llvm-svn: 30478 | |||||
* | Minor speedup for legalize by avoiding some malloc traffic | Chris Lattner | 2006-09-19 | 1 | -0/+9 | |
| | | | | llvm-svn: 30477 | |||||
* | Added support for machine specific constantpool values. These are useful for | Evan Cheng | 2006-09-12 | 1 | -1/+29 | |
| | | | | | | representing expressions that can only be resolved at link time, etc. llvm-svn: 30278 | |||||
* | Implement the fpowi now by lowering to a libcall | Chris Lattner | 2006-09-09 | 1 | -0/+1 | |
| | | | | llvm-svn: 30225 | |||||
* | Move isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make ↵ | Evan Cheng | 2006-08-29 | 1 | -15/+0 | |
| | | | | | | it a static method of SelectionDAG. llvm-svn: 29951 | |||||
* | Eliminate SelectNodeTo() and getTargetNode() variants which take more than | Evan Cheng | 2006-08-27 | 1 | -254/+12 | |
| | | | | | | | 3 SDOperand operands. They are replaced by versions which take an array of SDOperand and the number of operands. llvm-svn: 29905 | |||||
* | SelectNodeTo now returns a SDNode*. | Evan Cheng | 2006-08-26 | 1 | -74/+74 | |
| | | | | llvm-svn: 29901 | |||||
* | minor changes. | Chris Lattner | 2006-08-16 | 1 | -18/+19 | |
| | | | | llvm-svn: 29740 | |||||
* | Use the appropriate typedef | Chris Lattner | 2006-08-16 | 1 | -2/+1 | |
| | | | | llvm-svn: 29730 | |||||
* | Start using SDVTList more consistently | Chris Lattner | 2006-08-15 | 1 | -66/+66 | |
| | | | | llvm-svn: 29711 | |||||
* | add a new SDVTList type and new SelectionDAG::getVTList methods to streamline | Chris Lattner | 2006-08-15 | 1 | -68/+79 | |
| | | | | | | the creation of canonical VTLists. llvm-svn: 29709 | |||||
* | Add a new getNode() method that takes a pointer to an already-intern'd list | Chris Lattner | 2006-08-14 | 1 | -78/+70 | |
| | | | | | | | of value-type nodes. This avoids having to do mallocs for std::vectors of valuetypes when a node returns more than one type. llvm-svn: 29685 | |||||
* | remove SelectionDAG::InsertISelMapEntry, it is dead | Chris Lattner | 2006-08-14 | 1 | -9/+0 | |
| | | | | llvm-svn: 29677 | |||||
* | Add code to resize the CSEMap hash table. This doesn't speedup codegen of | Chris Lattner | 2006-08-14 | 1 | -0/+1 | |
| | | | | | | kimwitu, but seems like a good idea from a "avoid performance cliffs" standpoint :) llvm-svn: 29675 | |||||
* | Add the actual constant to the hash for ConstantPool nodes. Thanks to | Chris Lattner | 2006-08-14 | 1 | -0/+1 | |
| | | | | | | Rafael Espindola for pointing this out. llvm-svn: 29669 | |||||
* | Remove 8 more std::map's. | Chris Lattner | 2006-08-11 | 1 | -92/+40 | |
| | | | | llvm-svn: 29631 | |||||
* | Move the BBNodes, GlobalValues, TargetGlobalValues, Constants, TargetConstants, | Chris Lattner | 2006-08-11 | 1 | -88/+57 | |
| | | | | | | RegNodes, and ValueNodes maps into the CSEMap. llvm-svn: 29626 | |||||
* | eliminate the NullaryOps map, use CSEMap instead. | Chris Lattner | 2006-08-11 | 1 | -22/+18 | |
| | | | | llvm-svn: 29621 | |||||
* | Change one ReplaceAllUsesWith method to take an array of operands to replace | Chris Lattner | 2006-08-11 | 1 | -4/+2 | |
| | | | | | | instead of a vector of operands. llvm-svn: 29616 | |||||
* | Start eliminating temporary vectors used to create DAG nodes. Instead, pass | Chris Lattner | 2006-08-08 | 1 | -128/+35 | |
| | | | | | | | | | | | | | | | | | | | in the start of an array and a count of operands where applicable. In many cases, the number of operands is known, so this static array can be allocated on the stack, avoiding the heap. In many other cases, a SmallVector can be used, which has the same benefit in the common cases. I updated a lot of code calling getNode that takes a vector, but ran out of time. The rest of the code should be updated, and these methods should be removed. We should also do the same thing to eliminate the methods that take a vector of MVT::ValueTypes. It would be extra nice to convert the dagiselemitter to avoid creating vectors for operands when calling getTargetNode. llvm-svn: 29566 | |||||
* | Eliminate some malloc traffic by allocating vectors on the stack. Change some | Chris Lattner | 2006-08-08 | 1 | -61/+44 | |
| | | | | | | | | | method that took std::vector<SDOperand> to take a pointer to a first operand and #operands. This speeds up isel on kc++ by about 3%. llvm-svn: 29561 | |||||
* | Revamp the "CSEMap" datastructure used in the SelectionDAG class. This | Chris Lattner | 2006-08-07 | 1 | -312/+278 | |
| | | | | | | | | | | | eliminates a bunch of std::map's in the SelectionDAG, replacing them with a home-grown hashtable. This is still a work in progress: not all the maps have been moved over and the hashtable never resizes. That said, this still speeds up llc 20% on kimwitu++ with -fast -regalloc=local using a release build. llvm-svn: 29550 | |||||
* | Clear TopOrder before assigning topological order. Some clean ups. | Evan Cheng | 2006-08-07 | 1 | -1/+3 | |
| | | | | llvm-svn: 29546 | |||||
* | Make SelectionDAG::RemoveDeadNodes iterative instead of recursive, which | Chris Lattner | 2006-08-04 | 1 | -50/+32 | |
| | | | | | | also make it simpler. llvm-svn: 29524 | |||||
* | - Change AssignTopologicalOrder to return vector of SDNode* by reference. | Evan Cheng | 2006-08-02 | 1 | -16/+22 | |
| | | | | | | - Tweak implementation to avoid using std::map. llvm-svn: 29479 | |||||
* | Added AssignTopologicalOrder() to assign each node an unique id based on ↵ | Evan Cheng | 2006-08-01 | 1 | -2/+38 | |
| | | | | | | their topological order. llvm-svn: 29431 | |||||
* | Remove InFlightSet hack. No longer needed. | Evan Cheng | 2006-07-28 | 1 | -14/+0 | |
| | | | | llvm-svn: 29373 | |||||
* | AssignNodeIds should return unsigned. | Evan Cheng | 2006-07-27 | 1 | -2/+2 | |
| | | | | llvm-svn: 29343 | |||||
* | AssignNodeIds assign each node in the DAG an unique id. | Evan Cheng | 2006-07-27 | 1 | -0/+12 | |
| | | | | llvm-svn: 29337 | |||||
* | Add an out-of-line virtual method for the sdnode class to give it a home. | Chris Lattner | 2006-07-19 | 1 | -0/+4 | |
| | | | | llvm-svn: 29192 | |||||
* | Ugly hack! Add helper functions InsertInFlightSetEntry and | Evan Cheng | 2006-06-29 | 1 | -0/+14 | |
| | | | | | | | RemoveInFlightSetEntry. They are used in place of direct set operators to reduce instruction selection function stack size. llvm-svn: 28987 | |||||
* | Fix CodeGen/Generic/2006-06-28-SimplifySetCCCrash.ll | Chris Lattner | 2006-06-28 | 1 | -6/+4 | |
| | | | | llvm-svn: 28965 | |||||
* | Add a new ISD::CALL node, make the default impl of TargetLowering::LowerCallTo | Chris Lattner | 2006-05-16 | 1 | -0/+1 | |
| | | | | | | produce it. llvm-svn: 28338 | |||||
* | remove dead vars | Chris Lattner | 2006-05-12 | 1 | -2/+1 | |
| | | | | llvm-svn: 28254 |