aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Add stores and truncstoresAnton Korobeynikov2009-07-161-0/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75931 91177308-0d34-0410-b5e6-96231b3b80d8
* Add patterns for various extloadsAnton Korobeynikov2009-07-161-0/+75
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75930 91177308-0d34-0410-b5e6-96231b3b80d8
* Add shifts and reg-imm address matchingAnton Korobeynikov2009-07-161-0/+121
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75927 91177308-0d34-0410-b5e6-96231b3b80d8
* Add bunch of 32-bit patterns... Uffff :)Anton Korobeynikov2009-07-1612-0/+412
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75926 91177308-0d34-0410-b5e6-96231b3b80d8
* Add tests for fixes I committed earlier to the C++ FE.Rafael Espindola2009-07-162-0/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75924 91177308-0d34-0410-b5e6-96231b3b80d8
* Add bunch of reg-imm movsAnton Korobeynikov2009-07-161-4/+47
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75921 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide masked reg-imm 'or' and 'and'Anton Korobeynikov2009-07-162-8/+46
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75919 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test running linesAnton Korobeynikov2009-07-1610-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75918 91177308-0d34-0410-b5e6-96231b3b80d8
* Add reg-reg and patternAnton Korobeynikov2009-07-162-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75917 91177308-0d34-0410-b5e6-96231b3b80d8
* Add sub reg-reg patternAnton Korobeynikov2009-07-162-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75916 91177308-0d34-0410-b5e6-96231b3b80d8
* Add xor reg-reg patternAnton Korobeynikov2009-07-162-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75915 91177308-0d34-0410-b5e6-96231b3b80d8
* Add or reg-reg pattern.Anton Korobeynikov2009-07-162-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75914 91177308-0d34-0410-b5e6-96231b3b80d8
* Add add reg-reg and reg-imm patternsAnton Korobeynikov2009-07-162-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75913 91177308-0d34-0410-b5e6-96231b3b80d8
* Add simple reg-reg and reg-imm movesAnton Korobeynikov2009-07-162-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75912 91177308-0d34-0410-b5e6-96231b3b80d8
* Minimal lowering for formal_arguments / retAnton Korobeynikov2009-07-161-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75911 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testsuite dir for systemz stuffAnton Korobeynikov2009-07-161-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75910 91177308-0d34-0410-b5e6-96231b3b80d8
* Combine an unaligned store of unaligned load into a memmove.Richard Osborne2009-07-161-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75908 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand unaligned 32 bit loads from an address which is a constantRichard Osborne2009-07-162-0/+31
| | | | | | | | | | | | | | | | offset from a 32 bit aligned base as follows: ldw low, base[offset >> 2] ldw high, base[(offset >> 2) + 1] shr low_shifted, low, (offset & 0x3) * 8 shl high_shifted, high, 32 - (offset & 0x3) * 8 or result, low_shifted, high_shifted Expand 32 bit loads / stores with 16 bit alignment into two 16 bit loads / stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75902 91177308-0d34-0410-b5e6-96231b3b80d8
* Custom lower unaligned 32 bit stores and loads into libcalls. This is Richard Osborne2009-07-162-0/+18
| | | | | | | | a big code size win since before they were expanding to upto 16 instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75901 91177308-0d34-0410-b5e6-96231b3b80d8
* Let callers decide the sub-register index on the def operand of ↵Evan Cheng2009-07-162-1/+215
| | | | | | | | | rematerialized instructions. Avoid remat'ing instructions whose def have sub-register indices for now. It's just really really hard to get all the cases right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75900 91177308-0d34-0410-b5e6-96231b3b80d8
* implement .include in the lexer/parser instead of passing it into the streamer.Chris Lattner2009-07-161-6/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75896 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch invars away from using isTrapping when it really shouldn't be Eli Friedman2009-07-151-0/+19
| | | | | | | | using it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75852 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't restrict the set of instructions where we try to constant-fold the Eli Friedman2009-07-151-0/+13
| | | | | | | | | operands; it's possible to end up with a constant-foldable operand to most instructions, even those which can't trap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75845 91177308-0d34-0410-b5e6-96231b3b80d8
* ShortenDeadCopySrcLiveRange needs to be more conservative in multi-kill ↵Evan Cheng2009-07-151-0/+958
| | | | | | situations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75838 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test so it works on systems where wchar_t != int.Dale Johannesen2009-07-151-10/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75827 91177308-0d34-0410-b5e6-96231b3b80d8
* Test for llvm-gcc patch 75822.Dale Johannesen2009-07-151-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75824 91177308-0d34-0410-b5e6-96231b3b80d8
* Apparently Darwin doesn't have /dev/full :-(.Dan Gohman2009-07-151-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75809 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix pattern for LD16S_3r, add basic tests to check load / store instructionsRichard Osborne2009-07-152-0/+74
| | | | | | | are being properly selected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75797 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for raw_ostream error checking.Dan Gohman2009-07-151-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75795 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix XCoreTargetLowering::isLegalAddressingMode to handle non simple VTs.Richard Osborne2009-07-151-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75788 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .dump and .load directives.Kevin Enderby2009-07-151-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75786 91177308-0d34-0410-b5e6-96231b3b80d8
* String constants are now output with private linkage.Duncan Sands2009-07-152-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75777 91177308-0d34-0410-b5e6-96231b3b80d8
* fix an arm codegen bug (the same as PR4482 on ppc) where available_externallyChris Lattner2009-07-151-0/+67
| | | | | | | | symbols were not getting stubs. While I'm at it, add a big testcase for stub generation to make sure I don't break anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75737 91177308-0d34-0410-b5e6-96231b3b80d8
* get the PPC stub temporary label from the mangler instead of Chris Lattner2009-07-151-4/+4
| | | | | | | | using horrible string hacking. This gives us a different label, but it's just an assembler temporary, so the name doesn't matter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75733 91177308-0d34-0410-b5e6-96231b3b80d8
* convert this to filecheck style and make it a test of darwin/PPC's Chris Lattner2009-07-151-1/+57
| | | | | | | extremely elaborate pic/nopic stubs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75726 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify this test to test the esentials.Chris Lattner2009-07-151-57/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75725 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .include directive.Kevin Enderby2009-07-141-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75711 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .lsym directive.Kevin Enderby2009-07-141-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75685 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the expansion of umax and smax in the case where one or more ofDan Gohman2009-07-141-0/+145
| | | | | | | | | the operands have pointer type, so that the resulting type matches the original SCEV type, and so that unnecessary ptrtoints are avoided in common cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75680 91177308-0d34-0410-b5e6-96231b3b80d8
* convert to filecheck style, simplify RUN line, and add comment.Chris Lattner2009-07-141-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75667 91177308-0d34-0410-b5e6-96231b3b80d8
* convert this test to filecheck styleChris Lattner2009-07-141-12/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75663 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce a pointertracking pass.Torok Edwin2009-07-142-0/+87
| | | | | | | | | For now this only computes the allocated size of the memory pointed to by a pointer, and offset a pointer from allocated pointer. The actual checkLimits part will come later, after another round of review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75657 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR4556Chris Lattner2009-07-141-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75655 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply my previous asmprinter changes now with more testing and two Chris Lattner2009-07-142-7/+5
| | | | | | | | | | | | | | | | | | | | | | additional bug fixes: 1. The bug that everyone hit was a problem in the asmprinter where it would remove $stub but keep the L prefix on a name when emitting the indirect symbol. This is easy to fix by keeping the name of the stub and the name of the symbol in a StringMap instead of just keeping a StringSet and trying to reconstruct it late. 2. There was a problem printing the personality function. The current logic to print out the personality function from the DWARF information is a bit of a cesspool right now that duplicates a bunch of other logic in the asm printer. The short version of it is that it depends on emitting both the L and _ prefix for symbols (at least on darwin) and until I can untangle it, it is best to switch the mangler back to emitting both prefixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75646 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .desc directive.Kevin Enderby2009-07-141-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75645 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for a bug fixed by r75634.Dan Gohman2009-07-141-0/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75644 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 75571; I'm convinced this isn't the right thing to do.Dale Johannesen2009-07-141-11/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75642 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r75610 (and r75620, which was blocking the revert), in the hopes ofDaniel Dunbar2009-07-141-2/+2
| | | | | | | | | | | | | | | unbreaking llvm-gcc (on Darwin). --- Reverse-merging r75620 into '.': U include/llvm/Support/Mangler.h --- Reverse-merging r75610 into '.': U test/CodeGen/X86/loop-hoist.ll G include/llvm/Support/Mangler.h U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp U lib/VMCore/Mangler.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75636 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the X86 asmprinter to use the mangler to apply suffixes like ↵Chris Lattner2009-07-141-2/+2
| | | | | | | | | | | | | | | | | | "$non_lazy_ptr" to symbols instead of doing it with "printSuffixedName". This gets us to the point where there is a real separation between computing a symbol name and printing it, something I need for MC printer stuff. This patch also fixes a corner case bug where unnamed private globals wouldn't get the private label prefix. Next up, rename all uses of getValueName -> getMangledName for better greppability, and then tackle the ppc/arm backends to eliminate "printSuffixedName". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75610 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the internal interface to makeNameProper to take a bool thatChris Lattner2009-07-142-8/+8
| | | | | | | | | | | | | | indicates whether the label is private or not, instead of taking prefix stuff. One effect of this is that symbols will be generated with *just* the private prefix, instead of both the private prefix *and* the user-label-prefix, but this doesn't matter as long as it is consistent. For example we'll now get "Lfoo" instead of "L_foo". These are just assembler temporary labels anyway, so they never even make it into the .o file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75607 91177308-0d34-0410-b5e6-96231b3b80d8