| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | reduce this testcase more | Chris Lattner | 2008-03-09 | 1 | -14/+0 |
| | | | | | llvm-svn: 48092 | ||||
| * | Finish implementing a readme entry: when inserting an i64 variable | Chris Lattner | 2008-03-09 | 3 | -43/+29 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | into a vector of zeros or undef, and when the top part is obviously zero, we can just use movd + shuffle. This allows us to compile vec_set-B.ll into: _test3: movl $1234567, %eax andl 4(%esp), %eax movd %eax, %xmm0 ret instead of: _test3: subl $28, %esp movl $1234567, %eax andl 32(%esp), %eax movl %eax, (%esp) movl $0, 4(%esp) movq (%esp), %xmm0 addl $28, %esp ret llvm-svn: 48090 | ||||
| * | Update the block cloner which fixes bugpoint on code using unwind_to (phew!) | Nick Lewycky | 2008-03-09 | 7 | -16/+45 |
| | | | | | | | and also update the cloning interface's major user, the loop optimizations. llvm-svn: 48088 | ||||
| * | Update the inliner and simplifycfg to handle unwind_to. | Nick Lewycky | 2008-03-09 | 4 | -1/+70 |
| | | | | | llvm-svn: 48086 | ||||
| * | Two things. Preserve the unwind_to when splitting a BB. | Nick Lewycky | 2008-03-09 | 3 | -7/+19 |
| | | | | | | | | Add the ability to remove just one instance of a BB from a phi node. This fixes the compile error in the tree now. llvm-svn: 48085 | ||||
| * | Prune the unwind_to labels on BBs that don't need them. Another step in the | Nick Lewycky | 2008-03-09 | 2 | -3/+31 |
| | | | | | | | removal of invoke, PR1269. llvm-svn: 48084 | ||||
| * | add a note | Chris Lattner | 2008-03-09 | 1 | -0/+37 |
| | | | | | llvm-svn: 48064 | ||||
| * | Implement a readme entry, compiling | Chris Lattner | 2008-03-09 | 3 | -26/+57 |
| | | | | | | | | | | | | | | | #include <xmmintrin.h> __m128i doload64(short x) {return _mm_set_epi16(0,0,0,0,0,0,0,1);} into: movl $1, %eax movd %eax, %xmm0 ret instead of a constant pool load. llvm-svn: 48063 | ||||
| * | upgrade this test | Chris Lattner | 2008-03-09 | 1 | -4/+4 |
| | | | | | llvm-svn: 48062 | ||||
| * | make this test harder | Chris Lattner | 2008-03-09 | 1 | -0/+1 |
| | | | | | llvm-svn: 48061 | ||||
| * | Fix two problems in SelectionDAGLegalize::ExpandBUILD_VECTOR's handling | Chris Lattner | 2008-03-09 | 1 | -21/+38 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of BUILD_VECTORS that only have two unique elements: 1. The previous code was nondeterminstic, because it walked a map in SDOperand order, which isn't determinstic. 2. The previous code didn't handle the case when one element was undef very well. Now we ensure that the generated shuffle mask has the undef vector on the RHS (instead of potentially being on the LHS) and that any elements that refer to it are themselves undef. This allows us to compile CodeGen/X86/vec_set-9.ll into: _test3: movd %rdi, %xmm0 punpcklqdq %xmm0, %xmm0 ret instead of: _test3: movd %rdi, %xmm1 #IMPLICIT_DEF %xmm0 punpcklqdq %xmm1, %xmm0 ret ... saving a register. llvm-svn: 48060 | ||||
| * | Teach SD some vector identities, allowing us to compile vec_set-9 into: | Chris Lattner | 2008-03-08 | 2 | -1/+21 |
| | | | | | | | | | | | | | | | | | | | | | | _test3: movd %rdi, %xmm1 #IMPLICIT_DEF %xmm0 punpcklqdq %xmm1, %xmm0 ret instead of: _test3: #IMPLICIT_DEF %rax movd %rax, %xmm0 movd %rdi, %xmm1 punpcklqdq %xmm1, %xmm0 ret This is still not ideal. There is no reason to two xmm regs. llvm-svn: 48058 | ||||
| * | 1) Improve comments. | Chris Lattner | 2008-03-08 | 1 | -1/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2) Don't try to insert an i64 value into the low part of a vector with movq on an x86-32 target. This allows us to compile: __m128i doload64(short x) {return _mm_set_epi16(0,0,0,0,0,0,0,1);} into: _doload64: movaps LCPI1_0, %xmm0 ret instead of: _doload64: subl $28, %esp movl $0, 4(%esp) movl $1, (%esp) movq (%esp), %xmm0 addl $28, %esp ret llvm-svn: 48057 | ||||
| * | minor simplifications to this code, don't create a dead | Chris Lattner | 2008-03-08 | 1 | -6/+10 |
| | | | | | | | SCALAR_TO_VECTOR on paths that end up not using it. llvm-svn: 48056 | ||||
| * | This one looks easy, add a note. | Chris Lattner | 2008-03-08 | 1 | -1/+2 |
| | | | | | llvm-svn: 48055 | ||||
| * | move these to the appropriate file | Chris Lattner | 2008-03-08 | 2 | -53/+57 |
| | | | | | llvm-svn: 48054 | ||||
| * | Not all users of a BB are Instructions any more. | Nick Lewycky | 2008-03-08 | 2 | -6/+9 |
| | | | | | llvm-svn: 48047 | ||||
| * | Load the symbols first so that the interpreter constructor can find them when | Nick Lewycky | 2008-03-08 | 1 | -9/+5 |
| | | | | | | | it tries to initialize them. llvm-svn: 48046 | ||||
| * | much simpler test case | Andrew Lenharth | 2008-03-08 | 2 | -442/+3 |
| | | | | | llvm-svn: 48045 | ||||
| * | Remove unused runPass methods. | Dan Gohman | 2008-03-08 | 2 | -29/+0 |
| | | | | | llvm-svn: 48044 | ||||
| * | More ppc32 byval handling (bug fixes). Things | Dale Johannesen | 2008-03-08 | 1 | -3/+23 |
| | | | | | | | are looking pretty good now. llvm-svn: 48043 | ||||
| * | Implement x86 support for @llvm.prefetch. It corresponds to prefetcht{0|1|2} ↵ | Evan Cheng | 2008-03-08 | 15 | -17/+84 |
| | | | | | | | and prefetchnta instructions. llvm-svn: 48042 | ||||
| * | Add support for calls with i128 return values on ppc64. | Dan Gohman | 2008-03-08 | 2 | -3/+49 |
| | | | | | llvm-svn: 48041 | ||||
| * | Something that kills a super-register also | Bill Wendling | 2008-03-07 | 1 | -2/+1 |
| | | | | | | | kills the sub-register. llvm-svn: 48038 | ||||
| * | Fix a typo. It's causing consumer-typeset to miscompile. Perhaps more. | Evan Cheng | 2008-03-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 48035 | ||||
| * | There is no killUse. | Dan Gohman | 2008-03-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 48034 | ||||
| * | add dropped section test case for PR2123 | Andrew Lenharth | 2008-03-07 | 2 | -0/+460 |
| | | | | | llvm-svn: 48033 | ||||
| * | Add new sretpromotion pass. | Devang Patel | 2008-03-07 | 1 | -0/+1 |
| | | | | | llvm-svn: 48032 | ||||
| * | PPC64 passes arguments of integral type in i64 registers, not i32. Reflect this | Bill Wendling | 2008-03-07 | 1 | -26/+43 |
| | | | | | | | | by promoting smaller integral values (i32 at this point) to i64, then truncating to get the wanted size. llvm-svn: 48030 | ||||
| * | Add support for lowering 128-bit shifts on ppc64. | Dan Gohman | 2008-03-07 | 2 | -44/+74 |
| | | | | | llvm-svn: 48029 | ||||
| * | Next bits of PPC byval handling. Basically functional | Dale Johannesen | 2008-03-07 | 1 | -7/+73 |
| | | | | | | | but there are bugs. llvm-svn: 48028 | ||||
| * | Add support for ppc64 shifts with 7-bit (oversized) shift amount (e.g. PPCshl). | Chris Lattner | 2008-03-07 | 2 | -6/+16 |
| | | | | | llvm-svn: 48027 | ||||
| * | Replace SDT_PPCShiftOp in favor of SDTIntBinOps. This allows it to work | Chris Lattner | 2008-03-07 | 1 | -6/+3 |
| | | | | | | | with 32 or 64-bit operands/results. llvm-svn: 48026 | ||||
| * | Fixed a register scavenger bug. If a def is re-defining part of a super ↵ | Evan Cheng | 2008-03-07 | 2 | -3/+28 |
| | | | | | | | register, there must be an implicit def of the super-register on the MI. llvm-svn: 48024 | ||||
| * | only extract main if the user didn't specify anything to extract | Andrew Lenharth | 2008-03-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 48023 | ||||
| * | RetVal is not used when there are more then one return operands. | Devang Patel | 2008-03-07 | 1 | -2/+3 |
| | | | | | llvm-svn: 48022 | ||||
| * | make error message reflect default search function name | Andrew Lenharth | 2008-03-07 | 1 | -3/+2 |
| | | | | | llvm-svn: 48021 | ||||
| * | Update inliner to handle functions that return multiple values. | Devang Patel | 2008-03-07 | 3 | -43/+144 |
| | | | | | llvm-svn: 48020 | ||||
| * | fix 80 col violations | Chris Lattner | 2008-03-07 | 2 | -2/+4 |
| | | | | | llvm-svn: 48019 | ||||
| * | Place for sret promotion tests. | Devang Patel | 2008-03-07 | 1 | -0/+3 |
| | | | | | llvm-svn: 48016 | ||||
| * | add a pass that can extract all kinds of global values, not just functions. ↵ | Andrew Lenharth | 2008-03-07 | 3 | -7/+206 |
| | | | | | | | Update llvm-extract to use it and optionally extract a global variable if you want it too llvm-svn: 48015 | ||||
| * | Cleanup some comments in the OCaml bindings. | Gordon Henriksen | 2008-03-07 | 4 | -11/+17 |
| | | | | | | | Patch by Erick Tryzelaar. llvm-svn: 48014 | ||||
| * | Fix a typo. 'make clean' in bindings/ocaml would leave an output. | Gordon Henriksen | 2008-03-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 48012 | ||||
| * | Clarify some important bits | Anton Korobeynikov | 2008-03-07 | 1 | -1/+2 |
| | | | | | llvm-svn: 48010 | ||||
| * | Small cleanup: propagate thread-localness via generic routine. | Anton Korobeynikov | 2008-03-07 | 1 | -7/+10 |
| | | | | | | | No functionality change. llvm-svn: 48009 | ||||
| * | Regenerate. | Gordon Henriksen | 2008-03-07 | 1 | -30/+45 |
| | | | | | llvm-svn: 48008 | ||||
| * | Prefer to use ocamlc.opt to ocamlc and soforth. | Gordon Henriksen | 2008-03-07 | 1 | -3/+3 |
| | | | | | | | | | These natively compiled versions are faster. Patch by Erick Tryzelaar! llvm-svn: 48007 | ||||
| * | mark frem as expand for all legal fp types on x86, regardless of whether | Chris Lattner | 2008-03-07 | 2 | -3/+9 |
| | | | | | | | we're using SSE or not. This fixes PR2122. llvm-svn: 48006 | ||||
| * | Add testcase. | Bill Wendling | 2008-03-06 | 1 | -0/+21 |
| | | | | | llvm-svn: 48005 | ||||
| * | When setting the "unused" info, take into account something like this: | Bill Wendling | 2008-03-06 | 2 | -9/+39 |
| | | | | | | | | | %r3<def> = OR %x3<kill>, %x3 We don't want to mark the %r3 as unused even though it's a sub-register of %x3. llvm-svn: 48003 | ||||

