| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | 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 | |||||
| * | Compile: | Chris Lattner | 2006-05-12 | 1 | -1/+6 | |
| | | | | | | | | | | | %tmp152 = setgt uint %tmp144, %tmp149 ; <bool> [#uses=1] %tmp159 = setlt uint %tmp144, %tmp149 ; <bool> [#uses=1] %bothcond2 = or bool %tmp152, %tmp159 ; <bool> [#uses=1] To setne, not setune, which causes an assertion fault. llvm-svn: 28244 | |||||
| * | Fold shifts with undef operands. | Chris Lattner | 2006-05-08 | 1 | -0/+7 | |
| | | | | | llvm-svn: 28167 | |||||
| * | constant fold sign_extend_inreg | Chris Lattner | 2006-05-06 | 1 | -1/+9 | |
| | | | | | llvm-svn: 28151 | |||||
| * | Fix Regression/CodeGen/Generic/2006-04-26-SetCCAnd.ll and | Chris Lattner | 2006-04-27 | 1 | -1/+29 | |
| | | | | | | | PR748. llvm-svn: 27987 | |||||
| * | JumpTable support! What this represents is working asm and jit support for | Nate Begeman | 2006-04-22 | 1 | -0/+26 | |
| | | | | | | | | | x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. llvm-svn: 27947 | |||||
| * | Implement folding of a bunch of binops with undef | Chris Lattner | 2006-04-20 | 1 | -0/+46 | |
| | | | | | llvm-svn: 27863 | |||||
| * | Make these predicates return true for bit_convert(buildvector)'s as well as | Chris Lattner | 2006-04-15 | 1 | -0/+8 | |
| | | | | | | | buildvectors. llvm-svn: 27723 | |||||
| * | Implement support for the formal_arguments node. To get this, targets ↵ | Chris Lattner | 2006-04-12 | 1 | -0/+1 | |
| | | | | | | | shouldcustom legalize it and remove their XXXTargetLowering::LowerArguments overload llvm-svn: 27604 | |||||
| * | Don't memoize vloads in the load map! Don't memoize them anywhere here, let | Chris Lattner | 2006-04-12 | 1 | -2/+0 | |
| | | | | | | | getNode do it. This fixes CodeGen/Generic/2006-04-11-vecload.ll llvm-svn: 27602 | |||||
| * | Add code generator support for VSELECT | Chris Lattner | 2006-04-08 | 1 | -8/+9 | |
| | | | | | llvm-svn: 27542 | |||||
| * | Constant fold bitconvert(undef) | Chris Lattner | 2006-04-04 | 1 | -0/+2 | |
| | | | | | llvm-svn: 27391 | |||||
| * | These entries already exist | Chris Lattner | 2006-04-02 | 1 | -4/+0 | |
| | | | | | llvm-svn: 27340 | |||||
| * | Add some missing node names | Chris Lattner | 2006-04-02 | 1 | -0/+9 | |
| | | | | | llvm-svn: 27339 | |||||
| * | Significantly improve handling of vectors that are live across basic blocks, | Chris Lattner | 2006-03-31 | 1 | -2/+1 | |
| | | | | | | | | handling cases where the vector elements need promotion, expansion, and when the vector type itself needs to be decimated. llvm-svn: 27278 | |||||
| * | new node | Chris Lattner | 2006-03-28 | 1 | -0/+1 | |
| | | | | | llvm-svn: 27231 | |||||
| * | Add an assertion | Chris Lattner | 2006-03-28 | 1 | -0/+2 | |
| | | | | | llvm-svn: 27228 | |||||
| * | Tblgen doesn't like multiple SDNode<> definitions that map to the sameenum ↵ | Chris Lattner | 2006-03-28 | 1 | -3/+7 | |
| | | | | | | | value. Split them into separate enums. llvm-svn: 27201 | |||||
| * | Unbreak the build on non-apple compilers :-( | Chris Lattner | 2006-03-27 | 1 | -1/+2 | |
| | | | | | llvm-svn: 27173 | |||||
| * | Try again | Evan Cheng | 2006-03-27 | 1 | -3/+10 | |
| | | | | | llvm-svn: 27171 | |||||
| * | Incorrect check for FP all one's | Evan Cheng | 2006-03-27 | 1 | -1/+2 | |
| | | | | | llvm-svn: 27169 | |||||
| * | Change isBuildVectorAllOnesInteger to isBuildVectorAllOnes. Also check for | Evan Cheng | 2006-03-27 | 1 | -24/+39 | |
| | | | | | | | floating point cases. llvm-svn: 27165 | |||||
| * | Instead of printing "INTRINSIC" on intrinsic node, print the intrinsic name. | Chris Lattner | 2006-03-27 | 1 | -1/+5 | |
| | | | | | llvm-svn: 27164 | |||||
| * | Add ISD::isBuildVectorAllZeros predicate | Evan Cheng | 2006-03-26 | 1 | -0/+24 | |
| | | | | | llvm-svn: 27147 | |||||
| * | Fix a bug in ISD::isBuildVectorAllOnesInteger that caused it to always return | Chris Lattner | 2006-03-25 | 1 | -2/+3 | |
| | | | | | | | false llvm-svn: 27131 | |||||
| * | Implement the ISD::isBuildVectorAllOnesInteger predicate | Chris Lattner | 2006-03-25 | 1 | -1/+32 | |
| | | | | | llvm-svn: 27130 | |||||
| * | fix some bogus assertions: noop bitconverts are legal | Chris Lattner | 2006-03-24 | 1 | -10/+4 | |
| | | | | | llvm-svn: 27032 | |||||
| * | Identify the INTRINSIC node | Chris Lattner | 2006-03-24 | 1 | -0/+1 | |
| | | | | | llvm-svn: 27020 | |||||
| * | Implement simple support for vector casting. This can currently only handle | Chris Lattner | 2006-03-22 | 1 | -0/+1 | |
| | | | | | | | casts between legal vector types. llvm-svn: 26961 | |||||
| * | add some trivial support for extractelement. | Chris Lattner | 2006-03-21 | 1 | -0/+2 | |
| | | | | | llvm-svn: 26928 | |||||

