| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Don't forget return void. | Evan Cheng | 2006-04-25 | 1 | -0/+3 |
| | | | | | llvm-svn: 27974 | ||||
| * | Fix the updating of the machine CFG when a PHI node was in a successor of | Nate Begeman | 2006-04-23 | 1 | -5/+10 |
| | | | | | | | | the jump table's range check block. This re-enables 100% dense jump tables by default on PPC & x86 llvm-svn: 27952 | ||||
| * | Code cleanup associated with jump tables, thanks to Chris for noticing | Nate Begeman | 2006-04-22 | 1 | -0/+8 |
| | | | | | | | these. llvm-svn: 27950 | ||||
| * | Turn of jump tables for a bit, there are still some issues to work out with | Nate Begeman | 2006-04-22 | 1 | -1/+1 |
| | | | | | | | updating the machine CFG. llvm-svn: 27949 | ||||
| * | JumpTable support! What this represents is working asm and jit support for | Nate Begeman | 2006-04-22 | 9 | -11/+281 |
| | | | | | | | | | 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 | ||||
| * | The BFS scheduler is apparently nondeterminstic (causes many llvmgcc bootstrap | Chris Lattner | 2006-04-21 | 1 | -2/+5 |
| | | | | | | | miscompares). Switch RISC targets to use the list-td scheduler, which isn't. llvm-svn: 27933 | ||||
| * | Fix a couple more memory issues | Chris Lattner | 2006-04-21 | 1 | -4/+4 |
| | | | | | llvm-svn: 27930 | ||||
| * | Fix a really subtle and obnoxious memory bug that caused issues with an | Chris Lattner | 2006-04-20 | 1 | -11/+11 |
| | | | | | | | | | | llvm-gcc4 boostrap. Whenever a node is deleted by the dag combiner, it *must* be returned by the visit function, or the dag combiner will not know that the node has been processed (and will, e.g., send it to the target dag combine xforms). llvm-svn: 27922 | ||||
| * | This field no longer exists | Chris Lattner | 2006-04-20 | 1 | -2/+0 |
| | | | | | llvm-svn: 27899 | ||||
| * | Remove some of the obvious V9-specific cruft | Chris Lattner | 2006-04-20 | 1 | -101/+2 |
| | | | | | llvm-svn: 27893 | ||||
| * | Turn a VAND into a VECTOR_SHUFFLE is applicable. | Evan Cheng | 2006-04-20 | 1 | -1/+64 |
| | | | | | | | | | DAG combiner can turn a VAND V, <-1, 0, -1, -1>, i.e. vector clear elements, into a vector shuffle with a zero vector. It only does so when TLI tells it the xform is profitable. llvm-svn: 27874 | ||||
| * | Implement folding of a bunch of binops with undef | Chris Lattner | 2006-04-20 | 1 | -0/+46 |
| | | | | | llvm-svn: 27863 | ||||
| * | Simplify some code | Chris Lattner | 2006-04-19 | 1 | -5/+1 |
| | | | | | llvm-svn: 27846 | ||||
| * | Fix handling of calls in functions that use vectors. This fixes a crash on | Chris Lattner | 2006-04-17 | 1 | -13/+1 |
| | | | | | | | the code in GCC PR26546. llvm-svn: 27780 | ||||
| * | Add a MachineInstr::eraseFromParent convenience method. | Chris Lattner | 2006-04-17 | 1 | -0/+9 |
| | | | | | llvm-svn: 27775 | ||||
| * | Codegen insertelement with constant insertion points as scalar_to_vector | Chris Lattner | 2006-04-17 | 1 | -0/+28 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and a shuffle. For this: void %test2(<4 x float>* %F, float %f) { %tmp = load <4 x float>* %F ; <<4 x float>> [#uses=2] %tmp3 = add <4 x float> %tmp, %tmp ; <<4 x float>> [#uses=1] %tmp2 = insertelement <4 x float> %tmp3, float %f, uint 2 ; <<4 x float>> [#uses=2] %tmp6 = add <4 x float> %tmp2, %tmp2 ; <<4 x float>> [#uses=1] store <4 x float> %tmp6, <4 x float>* %F ret void } we now get this on X86 (which will get better): _test2: movl 4(%esp), %eax movaps (%eax), %xmm0 addps %xmm0, %xmm0 movaps %xmm0, %xmm1 shufps $3, %xmm1, %xmm1 movaps %xmm0, %xmm2 shufps $1, %xmm2, %xmm2 unpcklps %xmm1, %xmm2 movss 8(%esp), %xmm1 unpcklps %xmm1, %xmm0 unpcklps %xmm2, %xmm0 addps %xmm0, %xmm0 movaps %xmm0, (%eax) ret instead of: _test2: subl $28, %esp movl 32(%esp), %eax movaps (%eax), %xmm0 addps %xmm0, %xmm0 movaps %xmm0, (%esp) movss 36(%esp), %xmm0 movss %xmm0, 8(%esp) movaps (%esp), %xmm0 addps %xmm0, %xmm0 movaps %xmm0, (%eax) addl $28, %esp ret llvm-svn: 27765 | ||||
| * | Add support for promoting stores from one legal type to another, allowing us | Chris Lattner | 2006-04-16 | 1 | -0/+8 |
| | | | | | | | to write one pattern for vector stores instead of 4. llvm-svn: 27730 | ||||
| * | 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 | ||||
| * | Make this assertion better | Chris Lattner | 2006-04-14 | 1 | -1/+1 |
| | | | | | llvm-svn: 27695 | ||||
| * | Expand some code with temporary variables to rid ourselves of the warning | Reid Spencer | 2006-04-13 | 1 | -7/+21 |
| | | | | | | | about "dereferencing type-punned pointer will break strict-aliasing rules" llvm-svn: 27671 | ||||
| * | Promote vector AND, OR, and XOR | Evan Cheng | 2006-04-12 | 1 | -0/+27 |
| | | | | | llvm-svn: 27632 | ||||
| * | Vector type promotion for ISD::LOAD and ISD::SELECT | Evan Cheng | 2006-04-12 | 1 | -9/+23 |
| | | | | | llvm-svn: 27606 | ||||
| * | Implement support for the formal_arguments node. To get this, targets ↵ | Chris Lattner | 2006-04-12 | 3 | -3/+128 |
| | | | | | | | 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 | ||||
| * | Only get Tmp2 for cases where number of operands is > 1. Fixed return void. | Evan Cheng | 2006-04-11 | 1 | -1/+1 |
| | | | | | llvm-svn: 27586 | ||||
| * | add some todos | Chris Lattner | 2006-04-11 | 1 | -0/+8 |
| | | | | | llvm-svn: 27580 | ||||
| * | Add basic support for legalizing returns of vectors | Chris Lattner | 2006-04-11 | 1 | -9/+36 |
| | | | | | llvm-svn: 27578 | ||||
| * | Use existing information. | Jim Laskey | 2006-04-10 | 1 | -3/+14 |
| | | | | | llvm-svn: 27574 | ||||
| * | Missing break | Evan Cheng | 2006-04-10 | 1 | -0/+1 |
| | | | | | llvm-svn: 27559 | ||||
| * | Add code generator support for VSELECT | Chris Lattner | 2006-04-08 | 3 | -10/+22 |
| | | | | | llvm-svn: 27542 | ||||
| * | Canonicalize vvector_shuffle(x,x) -> vvector_shuffle(x,undef) to enable patterns | Chris Lattner | 2006-04-08 | 2 | -2/+50 |
| | | | | | | | to match again :) llvm-svn: 27533 | ||||
| * | Codegen shufflevector as VVECTOR_SHUFFLE | Chris Lattner | 2006-04-08 | 2 | -2/+25 |
| | | | | | llvm-svn: 27529 | ||||
| * | add a sanity check: LegalizeOp should return a value that is the same type | Chris Lattner | 2006-04-08 | 1 | -0/+3 |
| | | | | | | | as its input. llvm-svn: 27528 | ||||
| * | INSERT_VECTOR_ELT lowering bug: | Evan Cheng | 2006-04-08 | 1 | -14/+11 |
| | | | | | | | | | | store vector to $esp store element to $esp + sizeof(VT) * index load vector from $esp The bug is VT is the type of the vector element, not the type of the vector! llvm-svn: 27517 | ||||
| * | Stub out shufflevector | Chris Lattner | 2006-04-08 | 1 | -0/+1 |
| | | | | | llvm-svn: 27514 | ||||
| * | Remove section change in function end, preventing override of function's real | Jim Laskey | 2006-04-08 | 1 | -1/+0 |
| | | | | | | | section. llvm-svn: 27503 | ||||
| * | Make sure that debug labels are defined within the same section and after the | Jim Laskey | 2006-04-07 | 1 | -8/+5 |
| | | | | | | | entry point of a function. llvm-svn: 27494 | ||||
| * | Foundation for call frame information. | Jim Laskey | 2006-04-07 | 3 | -43/+153 |
| | | | | | llvm-svn: 27491 | ||||
| * | 1. If both vector operands of a vector_shuffle are undef, turn it into an undef. | Evan Cheng | 2006-04-06 | 1 | -3/+6 |
| | | | | | | | 2. A shuffle mask element can also be an undef. llvm-svn: 27472 | ||||
| * | Make a vector live across blocks have the correct Vec type. This fixes | Chris Lattner | 2006-04-05 | 1 | -1/+9 |
| | | | | | | | CodeGen/X86/2006-04-04-CrossBlockCrash.ll llvm-svn: 27436 | ||||
| * | Exapnd a VECTOR_SHUFFLE to a BUILD_VECTOR if target asks for it to be expanded | Evan Cheng | 2006-04-05 | 1 | -2/+30 |
| | | | | | | | or custom lowering fails. llvm-svn: 27432 | ||||
| * | Do not create ZEXTLOAD's unless we are before legalize or the operation is | Chris Lattner | 2006-04-04 | 1 | -1/+2 |
| | | | | | | | legal. llvm-svn: 27402 | ||||
| * | * Add supprot for SCALAR_TO_VECTOR operations where the input needs to be | Chris Lattner | 2006-04-04 | 1 | -21/+102 |
| | | | | | | | | | | | promoted/expanded (e.g. SCALAR_TO_VECTOR from i8/i16 on PPC). * Add support for targets to request that VECTOR_SHUFFLE nodes be promoted to a canonical type, for example, we only want v16i8 shuffles on PPC. * Move isShuffleLegal out of TLI into Legalize. * Teach isShuffleLegal to allow shuffles that need to be promoted. llvm-svn: 27399 | ||||
| * | Constant fold bitconvert(undef) | Chris Lattner | 2006-04-04 | 1 | -0/+2 |
| | | | | | llvm-svn: 27391 | ||||
| * | The stack alignment is now computed dynamically, just verify it is correct. | Chris Lattner | 2006-04-03 | 1 | -1/+2 |
| | | | | | llvm-svn: 27380 | ||||
| * | Remove unused method | Chris Lattner | 2006-04-03 | 1 | -8/+0 |
| | | | | | llvm-svn: 27379 | ||||
| * | Add a missing check, this fixes UnitTests/Vector/sumarray.c | Chris Lattner | 2006-04-03 | 1 | -2/+2 |
| | | | | | llvm-svn: 27375 | ||||
| * | Add a missing check, which broke a bunch of vector tests. | Chris Lattner | 2006-04-03 | 1 | -3/+6 |
| | | | | | llvm-svn: 27374 | ||||
| * | back this out | Andrew Lenharth | 2006-04-03 | 1 | -25/+0 |
| | | | | | llvm-svn: 27367 | ||||
| * | This should be a win of every arch | Andrew Lenharth | 2006-04-02 | 1 | -1/+26 |
| | | | | | llvm-svn: 27364 | ||||

