aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* No need to check the same condition twice.Dan Gohman2010-03-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99716 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment.Dan Gohman2010-03-271-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99715 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an unnecessary #include.Dan Gohman2010-03-271-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99714 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove another memory leak from ABCD by using Edges by value instead ofJeffrey Yasskin2010-03-271-29/+21
| | | | | | | | pointer. There was also a SmallPtrSet whose settiness wasn't being used, so I changed it to a SmallVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99713 91177308-0d34-0410-b5e6-96231b3b80d8
* In ABCD, change the non-null Bound*s to Bound&s.Jeffrey Yasskin2010-03-271-79/+74
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99711 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a memory leak in ABCD by giving ownership of Bound objects to theJeffrey Yasskin2010-03-271-68/+76
| | | | | | | MemoizedResultChart. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99710 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL a new tblgen test for memory leak checking.Jeffrey Yasskin2010-03-271-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99707 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid leaking the memory allocated for GlobalVariables in the interpreter, byJeffrey Yasskin2010-03-271-3/+32
| | | | | | | freeing that memory when the GV is destroyed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99706 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation.Bob Wilson2010-03-271-34/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99705 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a format argument to the N3V and N3VX classes, removing the N3Vf class.Bob Wilson2010-03-272-198/+198
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99704 91177308-0d34-0410-b5e6-96231b3b80d8
* remove parallel support.Chris Lattner2010-03-273-41/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99703 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate the last of the parallel's!Chris Lattner2010-03-272-173/+102
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99700 91177308-0d34-0410-b5e6-96231b3b80d8
* When we promote a load of an argument make sure to take the alignmentEric Christopher2010-03-271-1/+5
| | | | | | | | of the previous load - it's usually important. For example, we don't want to blindly turn an unaligned load into an aligned one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99699 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot the part where we handle the ".llvm.eh.catch.all.value".Bill Wendling2010-03-271-2/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99697 91177308-0d34-0410-b5e6-96231b3b80d8
* Return if we changed anything or not.Bill Wendling2010-03-271-11/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99695 91177308-0d34-0410-b5e6-96231b3b80d8
* If a selector has a call to ".llvm.eh.catch.all.value" that we haven'tBill Wendling2010-03-271-8/+38
| | | | | | | converted, then use the initializer, since using the name itself won't work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99692 91177308-0d34-0410-b5e6-96231b3b80d8
* Add NVMulSLFrm to represent "3-register multiply with scalar" operations and setJohnny Chen2010-03-272-122/+130
| | | | | | | | | | | | it as the format for the appropriate N3V*SL*<> classes. These instructions require special handling of the M:Vm field which encodes the restricted Dm and the lane index within Dm. Examples are A8.6.325 VMLA, VMLAL, VMLS, VMLSL (by scalar): vmlal.s32 q3, d2, d10[0] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99690 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate almost all the rest of the x86-32 parallels.Chris Lattner2010-03-271-157/+116
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99686 91177308-0d34-0410-b5e6-96231b3b80d8
* bump FIRST_TARGET_MEMORY_OPCODE back up, there is no reason to make it a ↵Chris Lattner2010-03-271-1/+1
| | | | | | tight bound anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99685 91177308-0d34-0410-b5e6-96231b3b80d8
* Thumb2 storeFrom/LoadToStackSlot() need to handle tGPR regs directly, not passJim Grosbach2010-03-271-2/+2
| | | | | | | through to the generic version. The generic functions use STR/LDR, but T2 needs the t2STR/t2LDR instead so we get the addressing mode correct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99678 91177308-0d34-0410-b5e6-96231b3b80d8
* improve portability to minix, patch by Chris Lattner2010-03-261-2/+2
| | | | | | | Kees van Reeuwijk for PR6704 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99677 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the duplicate multiclass N3VSh_QHSD and use N3VInt_QHSD which is modifiedJohnny Chen2010-03-261-193/+154
| | | | | | | to now take a format argument. N3VDInt<> and N3VQInt<> are modified to take a format argument as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99676 91177308-0d34-0410-b5e6-96231b3b80d8
* If we mark clean-ups as clean-ups, then it could break when inlining through anBill Wendling2010-03-261-7/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | 'invoke' instruction. You will get a situation like this: bb: %ehptr = eh.exception() %sel = eh.selector(%ehptr, @per, 0); ... bb2: invoke _Unwind_Resume_or_Rethrow(%ehptr) %normal unwind to %lpad lpad: ... The unwinder will see the %sel call as a clean-up and, if it doesn't have a catch further up the call stack, it will skip running it. But there *is* another catch up the stack -- the catch for the %lpad. However, we can't see that. This is fixed in code-gen, where we detect this situation, and convert the "clean-up" selector call into a "catch-all" selector call. This gives us the correct semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99671 91177308-0d34-0410-b5e6-96231b3b80d8
* Add NVExtFrm to represent NEON Vector Extract Instructions, that uses Inst{11-8}Johnny Chen2010-03-262-10/+11
| | | | | | | | | to encode the byte location of the extracted result in the concatenation of the operands, from the least significant end. Modify VEXTd and VEXTq classes to use the format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99659 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a constructor implementation that isn't declaredChris Lattner2010-03-261-6/+0
| | | | | | | | | in the header. How can both clang and gcc accept this? PR6703 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99658 91177308-0d34-0410-b5e6-96231b3b80d8
* Add few missed libcalls and correct names for others.Anton Korobeynikov2010-03-262-4/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99656 91177308-0d34-0410-b5e6-96231b3b80d8
* Add N3RegVShFrm to represent 3-Register Vector Shift Instructions, which do notJohnny Chen2010-03-262-23/+85
| | | | | | | | | | | | | | follow the N3RegFrm's operand order of D:Vd N:Vn M:Vm. The operand order of N3RegVShFrm is D:Vd M:Vm N:Vn (notice that M:Vm is the first src operand). Add a parent class N3Vf which requires passing a Format argument and which the N3V class is modified to inherit from. N3V class represents the "normal" 3-Register NEON Instructions with N3RegFrm. Also add a multiclass N3VSh_QHSD to represent clusters of NEON 3-Register Shift Instructions and replace 8 invocations with it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99655 91177308-0d34-0410-b5e6-96231b3b80d8
* fix iterator nameGabor Greif2010-03-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99646 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor grammar and html fixes.Dan Gohman2010-03-261-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99644 91177308-0d34-0410-b5e6-96231b3b80d8
* some more tweaksGabor Greif2010-03-261-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99643 91177308-0d34-0410-b5e6-96231b3b80d8
* Tell "the rest of the story" about LLVM's iterators' implicit conversions.Dan Gohman2010-03-261-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99642 91177308-0d34-0410-b5e6-96231b3b80d8
* fix formatting and a validation failGabor Greif2010-03-261-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99640 91177308-0d34-0410-b5e6-96231b3b80d8
* add a blurb on const versions of chain traversals and a word of cautionGabor Greif2010-03-261-8/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99638 91177308-0d34-0410-b5e6-96231b3b80d8
* Debug info shouldn't affect kills.Dale Johannesen2010-03-261-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99637 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a paragram describing how to extract line number information.Devang Patel2010-03-261-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99636 91177308-0d34-0410-b5e6-96231b3b80d8
* http://englishplus.com/grammar/00000296.htmGabor Greif2010-03-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99635 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix SmallVector's insert to handle non-random-access iterators.Dan Gohman2010-03-262-6/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99633 91177308-0d34-0410-b5e6-96231b3b80d8
* vldm/vstm can only do up to 16 double-word registers at a time.Jim Grosbach2010-03-261-1/+5
| | | | | | Radar 7797856 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99630 91177308-0d34-0410-b5e6-96231b3b80d8
* Add N3RegFrm to represent "NEON 3 vector register format" instructions.Johnny Chen2010-03-261-2/+3
| | | | | | | Examples are VABA (Vector Absolute Difference and Accumulate), VABAL (Vector Absolute Difference and Accumulate Long), and VABD (Vector Absolute Difference). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99628 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not sibcall if stack needs to be dynamically aligned.Evan Cheng2010-03-262-0/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99620 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow trivial sibcall of vararg callee when no arguments are being passed.Evan Cheng2010-03-264-8/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99598 91177308-0d34-0410-b5e6-96231b3b80d8
* LiveVariables should clear kill / dead markers first. This allows us to ↵Evan Cheng2010-03-262-6/+8
| | | | | | remove a hack in the scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99597 91177308-0d34-0410-b5e6-96231b3b80d8
* Add N2RegVShLFrm and N2RegVShRFrm formats so that the disassembler can easilyJohnny Chen2010-03-262-42/+54
| | | | | | | | | | | dispatch to the appropriate routines to handle the different interpretations of the shift amount encoded in the imm6 field. The Vd, Vm fields are interpreted the same between the two, though. See, for example, A8.6.367 VQSHL, VQSHLU (immediate) for N2RegVShLFrm format and A8.6.368 VQSHRN, VQSHRUN for N2RegVShRFrm format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99590 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid leaking argv and env arrays from lli.Jeffrey Yasskin2010-03-261-13/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99589 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore debug intrinsics in yet more places.Dan Gohman2010-03-261-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99580 91177308-0d34-0410-b5e6-96231b3b80d8
* Try trivial remat before the coalescer gives up on a vr / physreg coalescing ↵Evan Cheng2010-03-264-3/+24
| | | | | | for fear of tying up a physical register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99575 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle DEBUG_VALUE in this pass.Dale Johannesen2010-03-261-11/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99573 91177308-0d34-0410-b5e6-96231b3b80d8
* switch the flag for using NEON for SP floating point to a subtarget 'feature'.Jim Grosbach2010-03-2519-45/+31
| | | | | | Re-commit. This time complete with testsuite updates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99570 91177308-0d34-0410-b5e6-96231b3b80d8
* need to fix 'make check' tests first. revert for a moment.Jim Grosbach2010-03-252-11/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99569 91177308-0d34-0410-b5e6-96231b3b80d8
* switch the flag for using NEON for SP floating point to a subtarget 'feature'Jim Grosbach2010-03-252-16/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99568 91177308-0d34-0410-b5e6-96231b3b80d8