summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Tblgen doesn't like multiple SDNode<> definitions that map to the sameenum ↵Chris Lattner2006-03-281-3/+7
| | | | | | value. Split them into separate enums. llvm-svn: 27201
* Unbreak the build on non-apple compilers :-(Chris Lattner2006-03-271-1/+2
| | | | llvm-svn: 27173
* Try againEvan Cheng2006-03-271-3/+10
| | | | llvm-svn: 27171
* Incorrect check for FP all one'sEvan Cheng2006-03-271-1/+2
| | | | llvm-svn: 27169
* Change isBuildVectorAllOnesInteger to isBuildVectorAllOnes. Also check forEvan Cheng2006-03-271-24/+39
| | | | | | floating point cases. llvm-svn: 27165
* Instead of printing "INTRINSIC" on intrinsic node, print the intrinsic name.Chris Lattner2006-03-271-1/+5
| | | | llvm-svn: 27164
* Add ISD::isBuildVectorAllZeros predicateEvan Cheng2006-03-261-0/+24
| | | | llvm-svn: 27147
* Fix a bug in ISD::isBuildVectorAllOnesInteger that caused it to always returnChris Lattner2006-03-251-2/+3
| | | | | | false llvm-svn: 27131
* Implement the ISD::isBuildVectorAllOnesInteger predicateChris Lattner2006-03-251-1/+32
| | | | llvm-svn: 27130
* fix some bogus assertions: noop bitconverts are legalChris Lattner2006-03-241-10/+4
| | | | llvm-svn: 27032
* Identify the INTRINSIC nodeChris Lattner2006-03-241-0/+1
| | | | llvm-svn: 27020
* Implement simple support for vector casting. This can currently only handleChris Lattner2006-03-221-0/+1
| | | | | | casts between legal vector types. llvm-svn: 26961
* add some trivial support for extractelement.Chris Lattner2006-03-211-0/+2
| | | | llvm-svn: 26928
* Add a hacky workaround for crashes due to vectors live across blocks.Chris Lattner2006-03-211-1/+2
| | | | | | | Note that this code won't work for vectors that aren't legal on the target. Improvements coming. llvm-svn: 26925
* Add very basic support for VECTOR_SHUFFLEChris Lattner2006-03-191-1/+9
| | | | llvm-svn: 26880
* Add SCALAR_TO_VECTOR supportChris Lattner2006-03-191-3/+14
| | | | llvm-svn: 26866
* Rename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR. ↵Chris Lattner2006-03-191-3/+2
| | | | | | Allow*BUILD_VECTOR to take variable inputs. llvm-svn: 26847
* Change the structure of lowering vector stuff. Note: This breaks someChris Lattner2006-03-181-2/+2
| | | | | | things. llvm-svn: 26840
* add a couple enum valuesChris Lattner2006-03-171-1/+3
| | | | llvm-svn: 26830
* Remove BRTWOWAY*Nate Begeman2006-03-171-15/+1
| | | | | | | | Make the PPC backend not dependent on BRTWOWAY_CC and make the branch selector smarter about the code it generates, fixing a case in the readme. llvm-svn: 26814
* add support for vector->vector castsChris Lattner2006-03-151-2/+2
| | | | llvm-svn: 26788
* Don't depend on the C99 copysign function, implement it ourselves.Chris Lattner2006-03-051-7/+17
| | | | llvm-svn: 26566
* Fix VC++ compilation error.Jeff Cohen2006-03-051-0/+5
| | | | llvm-svn: 26554
* Add some simple copysign foldsChris Lattner2006-03-051-0/+2
| | | | llvm-svn: 26543
* Codegen copysign[f] into a FCOPYSIGN nodeChris Lattner2006-03-051-1/+7
| | | | llvm-svn: 26542
* SDOperand::isOperand should not be a forwarding. It must check *this against ↵Evan Cheng2006-03-031-0/+7
| | | | | | N's operands. llvm-svn: 26502
* Added isOperand(N): true if this is an operand of NEvan Cheng2006-03-031-0/+7
| | | | llvm-svn: 26501
* remove the read/write port/io intrinsics.Chris Lattner2006-03-031-6/+0
| | | | llvm-svn: 26479
* - Added VConstant as an abstract version of ConstantVec.Evan Cheng2006-03-011-12/+19
| | | | | | | - All abstrct vector nodes must have # of elements and element type as their first two operands. llvm-svn: 26432
* Print ConstantPoolSDNode offset field.Evan Cheng2006-02-261-0/+5
| | | | llvm-svn: 26381
* Added an offset field to ConstantPoolSDNode.Evan Cheng2006-02-251-8/+12
| | | | llvm-svn: 26371
* Add checks to make sure we don't create bogus extend nodes, and fix a bugNate Begeman2006-02-181-0/+4
| | | | | | | where we were doing exactly that which was causing failures on x86 and alpha. llvm-svn: 26284
* Fix a tricky issue in the SimplifyDemandedBits code where CombineTo wasn'tChris Lattner2006-02-171-0/+61
| | | | | | | exactly the API we wanted to call into. This fixes the crash on crafty last night. llvm-svn: 26269
* kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBCNate Begeman2006-02-171-2/+4
| | | | | | | and SUBE nodes that actually expose what's going on and allow for significant simplifications in the targets. llvm-svn: 26255
* Added SelectionDAG::InsertISelMapEntry(). This is used to workaround the gccEvan Cheng2006-02-091-0/+9
| | | | | | | | problem where it inline the map insertion call too aggressively. Before this change it was producing a frame size of 24k for Select_store(), now it's down to 10k (by calling this method rather than calling the map insertion operator). llvm-svn: 26094
* More changes to reduce frame size.Evan Cheng2006-02-091-0/+243
| | | | | | | | | Move all getTargetNode() out of SelectionDAG.h into SelectionDAG.cpp. This prevents them from being inlined. Change getTargetNode() so they return SDNode * instead of SDOperand to prevent copying. It should also help compilation speed. llvm-svn: 26083
* * Added SDNode::isOnlyUse().Evan Cheng2006-02-051-3/+18
| | | | | | * Fix hasNUsesOfValue(), it should be const. llvm-svn: 25990
* remove dead fnChris Lattner2006-02-031-11/+0
| | | | llvm-svn: 25935
* Added case HANDLENODE to getOperationName().Evan Cheng2006-02-031-0/+1
| | | | llvm-svn: 25920
* Allow the specification of explicit alignments for constant pool entries.Evan Cheng2006-01-311-8/+14
| | | | llvm-svn: 25855
* Remove some special case hacks for CALLSEQ_*, using UpdateNodeOperandsChris Lattner2006-01-291-44/+6
| | | | | | instead. llvm-svn: 25780
* Legalize ConstantFP into TargetConstantFP when the target allows. ImplementChris Lattner2006-01-291-1/+21
| | | | | | custom expansion of ConstantFP nodes. llvm-svn: 25772
* add another method variantChris Lattner2006-01-281-3/+18
| | | | llvm-svn: 25744
* add some methods for updating nodesChris Lattner2006-01-281-0/+234
| | | | llvm-svn: 25742
* Remove the ISD::CALL and ISD::TAILCALL nodesChris Lattner2006-01-281-3/+1
| | | | llvm-svn: 25721
* initial selectiondag support for new INLINEASM node. Note that inline asmsChris Lattner2006-01-261-1/+2
| | | | | | with outputs or inputs are not supported yet. :) llvm-svn: 25664
* First part of bug 680:Nate Begeman2006-01-251-8/+25
| | | | | | | Remove TLI.LowerVA* and replace it with SDNodes that are lowered the same way as everything else. llvm-svn: 25606
* Fix an infinite loop I caused by making sure to legalize the flag operandChris Lattner2006-01-241-0/+13
| | | | | | of CALLSEQ_* nodes llvm-svn: 25582
* another couple selectsAndrew Lenharth2006-01-231-0/+22
| | | | llvm-svn: 25551
* another selecttoAndrew Lenharth2006-01-231-0/+23
| | | | llvm-svn: 25548
OpenPOWER on IntegriCloud