summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Introduce new SelectionDAG node opcodes VEXTRACT_SUBVECTOR andDan Gohman2007-06-131-0/+2
| | | | | | | | | | | | | VCONCAT_VECTORS. Use these for CopyToReg and CopyFromReg legalizing in the case that the full register is to be split into subvectors instead of scalars. This replaces uses of VBIT_CONVERT to present values as vector-of-vector types in order to make whole subvectors accessible via BUILD_VECTOR and EXTRACT_VECTOR_ELT. This is in preparation for adding extended ValueType values, where having vector-of-vector types is undesirable. llvm-svn: 37569
* Resolve implicit alignment before computing the FoldingSet information soDan Gohman2007-06-041-50/+49
| | | | | | | | | | | | that the CSE map always contains explicit alignment information. This allows more loads to be CSE'd when there is a mix of explicit-alignment loads and implicit-alignment loads. Also, in SelectionDAG::FindModifiedNodeSlot, add the operands to the FoldingSetNodeID before the load/store information instead of after, so that it matches what is done elsewhere. llvm-svn: 37411
* Add explicit qualification for namespace MVT members.Dan Gohman2007-05-241-1/+1
| | | | llvm-svn: 37320
* Be more careful about folding op(x, undef) when we have vector operands.Chris Lattner2007-04-251-9/+16
| | | | | | This fixes CodeGen/X86/2007-04-24-VectorCrash.ll llvm-svn: 36413
* PR400 phase 2. Propagate attributed load/store information through DAGs.Christopher Lamb2007-04-221-12/+54
| | | | llvm-svn: 36356
* X86 TLS: Implement review feedback.Lauro Ramos Venancio2007-04-211-1/+11
| | | | llvm-svn: 36318
* Revert Christopher Lamb's load/store alignment changes.Reid Spencer2007-04-211-21/+12
| | | | llvm-svn: 36309
* add support for alignment attributes on load/store instructionsChristopher Lamb2007-04-211-12/+21
| | | | llvm-svn: 36301
* Implement "general dynamic", "initial exec" and "local exec" TLS models forLauro Ramos Venancio2007-04-201-2/+20
| | | | | | X86 32 bits. llvm-svn: 36283
* fold noop vbitconvert instructionsChris Lattner2007-04-121-0/+9
| | | | llvm-svn: 35943
* add some assertionsChris Lattner2007-04-091-0/+13
| | | | llvm-svn: 35800
* For PR1297:Reid Spencer2007-04-011-1/+1
| | | | | | Change getOperationName to return std::string instead of const char* llvm-svn: 35545
* Fix incorrect combination of different loads. Reenable zext-over-truncateDale Johannesen2007-03-301-72/+70
| | | | | | combination. llvm-svn: 35517
* 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
OpenPOWER on IntegriCloud