summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fold away addc nodes when we know there cannot be a carry-out.Chris Lattner2007-03-041-0/+1
| | | | llvm-svn: 34913
* eliminate some ops if they have an undef RHSChris Lattner2007-03-041-0/+2
| | | | llvm-svn: 34908
* fold trivial token factor nodes. This allows us to compileChris Lattner2007-02-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | test/CodeGen/X86/fp-stack-ret.ll into: movl 4(%esp), %eax fldl (%eax) ret instead of: subl $12, %esp movl 16(%esp), %eax movsd (%eax), %xmm0 movsd %xmm0, (%esp) fldl (%esp) addl $12, %esp ret by eliminating a token factor that blocked a check. llvm-svn: 34584
* Selection and lowering for exception handling.Jim Laskey2007-02-211-0/+2
| | | | llvm-svn: 34481
* Introduce new UnarySDNode/BinarySDNode/TernarySDNode nodes, which coallocateChris Lattner2007-02-041-12/+29
| | | | | | | their operands with the node itself. This reduces malloc traffic for operand lists. This reduces isel time on kc++ from 2.6164 to 2.5570s, about 2.3%. llvm-svn: 33878
* eliminate the SDNode::setValueTypes method.Chris Lattner2007-02-041-34/+17
| | | | llvm-svn: 33876
* eliminate a bunch of duplicate ctors and helper functions.Chris Lattner2007-02-041-116/+81
| | | | llvm-svn: 33875
* move MorphNode to out of line and merge setNodeOperands into it. There isChris Lattner2007-02-041-14/+33
| | | | | | no behavior or performance change here. llvm-svn: 33869
* simplify MorphNodeTo to take a VTList operand.Chris Lattner2007-02-041-14/+13
| | | | llvm-svn: 33868
* eliminate some extraneous methods in SDNodeChris Lattner2007-02-041-5/+16
| | | | llvm-svn: 33867
* Give each selectiondag node class a home for it's vtable and rtti infoChris Lattner2007-02-041-2/+17
| | | | llvm-svn: 33866
* Eliminate some std::sets. This speeds up isel of kimwitu by about 0.9%Chris Lattner2007-02-041-6/+6
| | | | llvm-svn: 33852
* Switch SelectionDAG::ReplaceAllUsesOfValueWith to use a SmallSetVector forChris Lattner2007-02-041-2/+3
| | | | | | | the users set (most nodes have 1 or 2 users). This speeds up the isel pass 3.2% on kimwitu. llvm-svn: 33849
* Fit in 80 columnsChris Lattner2007-02-011-2/+4
| | | | llvm-svn: 33745
* Finish off bug 680, allowing targets to custom lower frame and returnNate Begeman2007-01-291-0/+2
| | | | | | address nodes. llvm-svn: 33636
* Make LABEL a builtin opcode.Jim Laskey2007-01-261-1/+1
| | | | llvm-svn: 33537
* Removed more <iostream> includesBill Wendling2006-12-071-2/+1
| | | | llvm-svn: 32321
* Removing even more <iostream> includes.Bill Wendling2006-12-071-43/+43
| | | | llvm-svn: 32320
* Unbreak VC++ build.Jeff Cohen2006-12-021-0/+1
| | | | llvm-svn: 32113
* Fix an incorrectly inverted condition.Evan Cheng2006-11-161-1/+0
| | | | llvm-svn: 31773
* Make an assert comment match the tested assertion.Reid Spencer2006-11-111-1/+1
| | | | llvm-svn: 31686
* Rename ISD::MemOpAddrMode to ISD::MemIndexedModeEvan Cheng2006-11-091-7/+9
| | | | llvm-svn: 31595
* Remove redundant <cmath>.Jim Laskey2006-11-081-1/+0
| | | | llvm-svn: 31561
* Unbreak VC++ build.Jeff Cohen2006-11-051-8/+8
| | | | llvm-svn: 31464
* Added getIndexedStore.Evan Cheng2006-11-051-0/+30
| | | | llvm-svn: 31458
* Fix comments.Evan Cheng2006-11-031-3/+8
| | | | llvm-svn: 31414
* Added isPredecessor.Evan Cheng2006-11-031-0/+23
| | | | llvm-svn: 31409
* silence warningChris Lattner2006-11-031-15/+0
| | | | llvm-svn: 31397
* For PR786:Reid Spencer2006-11-021-1/+0
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* Print jumptable index.Evan Cheng2006-11-011-0/+2
| | | | llvm-svn: 31340
* Added a new SDNode type: BR_JT for jumptable branch.Evan Cheng2006-10-301-0/+1
| | | | llvm-svn: 31292
* VLOAD is not the LoadSDNode opcode.Evan Cheng2006-10-291-1/+0
| | | | llvm-svn: 31276
* Remove spurious case. EXTLOAD is not one of the node opcodes.Nick Lewycky2006-10-291-1/+0
| | | | llvm-svn: 31275
* Load and stores have not been uniqued properly.Jim Laskey2006-10-281-13/+42
| | | | llvm-svn: 31261
* Fix a serious bug that caused any x86 vector stuff to infinite loopChris Lattner2006-10-281-1/+1
| | | | llvm-svn: 31254
* Clean up.Jim Laskey2006-10-271-2/+12
| | | | llvm-svn: 31243
* Switch over from SelectionNodeCSEMap to FoldingSet.Jim Laskey2006-10-271-49/+211
| | | | llvm-svn: 31240
* getPreIndexedLoad -> getIndexedLoad.Evan Cheng2006-10-261-21/+7
| | | | llvm-svn: 31209
* Trivial patch to speed up legalizing common i64 constants.Chris Lattner2006-10-171-0/+7
| | | | llvm-svn: 31020
* Reflect MemOpAddrMode change; added a helper to create pre-indexed load.Evan Cheng2006-10-171-4/+68
| | | | llvm-svn: 31016
* Make it simplier to dump DAGs while in DAGCombiner. Remove a nasty ↵Jim Laskey2006-10-171-1/+1
| | | | | | optimization. llvm-svn: 31009
* When SimplifySetCC was moved to the DAGCombiner, it was never removed fromChris Lattner2006-10-141-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 Lattner2006-10-131-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 Cheng2006-10-131-30/+67
| | | | llvm-svn: 30945
* Add RemoveDeadNode to remove a dead node and its (potentially) dead operands.Evan Cheng2006-10-121-0/+33
| | | | llvm-svn: 30916
* Naming consistency.Evan Cheng2006-10-111-2/+2
| | | | llvm-svn: 30878
* Jimptables working again on alpha.Andrew Lenharth2006-10-111-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 Cheng2006-10-111-0/+9
| | | | | | SelectionDAGCSEMap ID. llvm-svn: 30866
* SDNode::dump should also print out extension type and VT.Evan Cheng2006-10-101-0/+21
| | | | llvm-svn: 30860
* Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes.Evan Cheng2006-10-091-35/+56
| | | | llvm-svn: 30844
OpenPOWER on IntegriCloud