aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Add support for the x86-64 'q' regigster modifier, and add support for theChris Lattner2007-10-291-0/+11
| | | | | | | | | b/h/w/k/q inline asm memory modifiers, which are just ignored. This fixes PR1748 and CodeGen/X86/2007-10-28-inlineasm-q-modifier.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43430 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1749 and InstCombine/2007-10-28-EmptyField.ll by handlingChris Lattner2007-10-291-0/+24
| | | | | | | zero-length fields better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43427 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1752 and LoopSimplify/2007-10-28-InvokeCrash.ll: terminators Chris Lattner2007-10-291-0/+892
| | | | | | | can have uses too. Wouldn't it be nice if invoke didn't exist? :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43426 91177308-0d34-0410-b5e6-96231b3b80d8
* Test to make sure that if we have an unaligned memcpy, it will still compile.Bill Wendling2007-10-261-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43412 91177308-0d34-0410-b5e6-96231b3b80d8
* On second thought. Remove this as it should never be generated in the firstBill Wendling2007-10-261-14/+0
| | | | | | | place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43400 91177308-0d34-0410-b5e6-96231b3b80d8
* - Remove the hacky code that forces a memcpy. Alignment is taken care of in theBill Wendling2007-10-261-0/+1
| | | | | | | | | | FE. - Explicitly pass in the alignment of the load & store. - XFAIL 2007-10-23-UnalignedMemcpy.ll because llc has a bug that crashes on unaligned pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43398 91177308-0d34-0410-b5e6-96231b3b80d8
* Loosen up iv reuse to allow reuse of the same stride but a larger type when ↵Evan Cheng2007-10-261-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | truncating from the larger type to smaller type is free. e.g. Turns this loop: LBB1_1: # entry.bb_crit_edge xorl %ecx, %ecx xorw %dx, %dx movw %dx, %si LBB1_2: # bb movl L_X$non_lazy_ptr, %edi movw %si, (%edi) movl L_Y$non_lazy_ptr, %edi movw %dx, (%edi) addw $4, %dx incw %si incl %ecx cmpl %eax, %ecx jne LBB1_2 # bb into LBB1_1: # entry.bb_crit_edge xorl %ecx, %ecx xorw %dx, %dx LBB1_2: # bb movl L_X$non_lazy_ptr, %esi movw %cx, (%esi) movl L_Y$non_lazy_ptr, %esi movw %dx, (%esi) addw $4, %dx incl %ecx cmpl %eax, %ecx jne LBB1_2 # bb git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43375 91177308-0d34-0410-b5e6-96231b3b80d8
* If a loop termination compare instruction is the only use of its stride,Evan Cheng2007-10-252-0/+86
| | | | | | | | | | | | | | | | | | | | and the compaison is against a constant value, try eliminate the stride by moving the compare instruction to another stride and change its constant operand accordingly. e.g. loop: ... v1 = v1 + 3 v2 = v2 + 1 if (v2 < 10) goto loop => loop: ... v1 = v1 + 3 if (v1 < 30) goto loop git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43336 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR1741.Owen Anderson2007-10-251-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43326 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR 1397.Dale Johannesen2007-10-251-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43323 91177308-0d34-0410-b5e6-96231b3b80d8
* This was failing on Darwin, which defaults to PIC;Dale Johannesen2007-10-241-1/+1
| | | | | | | | no lea was generated. I think this follows the intent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43312 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a couple of foldings for ordered and unordered comparisons,Chris Lattner2007-10-242-0/+24
| | | | | | | implementing cases related to PR1738. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43289 91177308-0d34-0410-b5e6-96231b3b80d8
* If there's an unaligned memcpy to/from the stack, don't lower it. Just call theBill Wendling2007-10-231-0/+13
| | | | | | | memcpy library function instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43270 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcaseChris Lattner2007-10-231-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43252 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm/test programs should not be execution programs. This Chris Lattner2007-10-231-4/+1
| | | | | | | will hopefully fix Gabor's Sparc problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43251 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporary solution: added a different set of BCTRL_Macho / BCTRL_ELF with ↵Evan Cheng2007-10-231-0/+25
| | | | | | right callee-saved defs set for ppc64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43248 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix memcpy lowering when addresses are 4-byte aligned but size is not ↵Evan Cheng2007-10-221-0/+15
| | | | | | multiple of 4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43234 91177308-0d34-0410-b5e6-96231b3b80d8
* Strength reduction improvements.Dan Gohman2007-10-223-0/+68
| | | | | | | | | | | | | | | | | | | | | | | - Avoid attempting stride-reuse in the case that there are users that aren't addresses. In that case, there will be places where the multiplications won't be folded away, so it's better to try to strength-reduce them. - Several SSE intrinsics have operands that strength-reduction can treat as addresses. The previous item makes this more visible, as any non-address use of an IV can inhibit stride-reuse. - Make ValidStride aware of whether there's likely to be a base register in the address computation. This prevents it from thinking that things like stride 9 are valid on x86 when the base register is already occupied. Also, XFAIL the 2007-08-10-LEA16Use32.ll test; the new logic to avoid stride-reuse elimintes the LEA in the loop, so the test is no longer testing what it was intended to test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43231 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the folding of multiplication into addresses on x86, which was brokenDan Gohman2007-10-221-0/+30
| | | | | | | by the recent {U,S}MUL_LOHI changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43230 91177308-0d34-0410-b5e6-96231b3b80d8
* Use ptr type in the immediate field of a BxA instruction so we don't end up ↵Evan Cheng2007-10-221-0/+27
| | | | | | selecting 32-bit call instruction for ppc64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43228 91177308-0d34-0410-b5e6-96231b3b80d8
* New test case.Evan Cheng2007-10-191-0/+84
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43193 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't branch fold inline asm statements.Bill Wendling2007-10-192-2/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43191 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed "-arch i386" by popular demand...Bill Wendling2007-10-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43186 91177308-0d34-0410-b5e6-96231b3b80d8
* Now with RUN line!Bill Wendling2007-10-191-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43185 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the Foundation.h file because not everyone has that.Bill Wendling2007-10-191-14/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43184 91177308-0d34-0410-b5e6-96231b3b80d8
* This test now passes.Devang Patel2007-10-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43183 91177308-0d34-0410-b5e6-96231b3b80d8
* Test byval with a 8 bit aligned structRafael Espindola2007-10-191-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43173 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for byval function whose argument is not 32 bit aligned.Rafael Espindola2007-10-192-0/+29
| | | | | | | | | | | | | To do this it is necessary to add a "always inline" argument to the memcpy node. For completeness I have also added this node to memmove and memset. I have also added getMem* functions, because the extra argument makes it cumbersome to use getNode and because I get confused by it :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43172 91177308-0d34-0410-b5e6-96231b3b80d8
* New test.Devang Patel2007-10-191-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43162 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1735 and Transforms/DeadArgElim/2007-10-18-VarargsReturn.ll byChris Lattner2007-10-181-0/+12
| | | | | | | fixing some obviously broken code :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43141 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the command line.Bill Wendling2007-10-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43140 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test.Devang Patel2007-10-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43136 91177308-0d34-0410-b5e6-96231b3b80d8
* Pointer arithmetic should be done with the index the same size as the pointer.Bill Wendling2007-10-181-0/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43120 91177308-0d34-0410-b5e6-96231b3b80d8
* Really fix PR1734. Carefully track which register uses are sub-register uses byEvan Cheng2007-10-181-0/+87
| | | | | | | traversing inverse register coalescing map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43118 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL for now.Devang Patel2007-10-181-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43111 91177308-0d34-0410-b5e6-96231b3b80d8
* Test to make sure we don't generate unwind info for non-64-bit Objective-C.Bill Wendling2007-10-171-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43102 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not raise free() call that is called through invoke instruction.Devang Patel2007-10-171-0/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43083 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for ISD::SELECT in SplitVectorOp.Dan Gohman2007-10-171-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43072 91177308-0d34-0410-b5e6-96231b3b80d8
* Apply "Instead of loading small c string constant, use integer constant ↵Devang Patel2007-10-171-0/+1
| | | | | | directly" transformation while processing load instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43070 91177308-0d34-0410-b5e6-96231b3b80d8
* Yet another test case for extract_subreg coalescing crash.Evan Cheng2007-10-171-0/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43063 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1734.Evan Cheng2007-10-161-0/+272
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43035 91177308-0d34-0410-b5e6-96231b3b80d8
* New test for svn rev 43033, radar 5538745.Dale Johannesen2007-10-161-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43034 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug handling frame references in ppc inline asm when the frame offsetChris Lattner2007-10-161-0/+14
| | | | | | | doesn't fit into 16 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43032 91177308-0d34-0410-b5e6-96231b3b80d8
* LowerFP_TO_SINT must not create a stack object if it's not needed.Evan Cheng2007-10-151-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43004 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply the fix in 42908 for this file. This changes the function namesDan Gohman2007-10-151-6/+6
| | | | | | | from "test" to "foo" so that they don't match the grep -i ST. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43001 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1729: watch out for val# with no def.Evan Cheng2007-10-151-0/+400
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42996 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix run line. Tanya Lattner2007-10-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42990 91177308-0d34-0410-b5e6-96231b3b80d8
* New test.Devang Patel2007-10-151-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42986 91177308-0d34-0410-b5e6-96231b3b80d8
* New test case.Evan Cheng2007-10-141-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42963 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 42908 for now.Evan Cheng2007-10-143-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42960 91177308-0d34-0410-b5e6-96231b3b80d8