summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* More cpp backend fixes. Now for FP stuff.Anton Korobeynikov2009-08-211-3/+3
| | | | llvm-svn: 79626
* Fix some typos and use type-based isel for VZIP/VUZP/VTRNAnton Korobeynikov2009-08-214-56/+56
| | | | llvm-svn: 79625
* Add lowering of ARM 4-element shuffles to multiple instructios via ↵Anton Korobeynikov2009-08-213-9/+6720
| | | | | | perfectshuffle-generated table. llvm-svn: 79624
* Add nodes & dummy matchers for some v{zip,uzp,trn} instructionsAnton Korobeynikov2009-08-213-0/+51
| | | | llvm-svn: 79622
* Expand EXTRACT_SUBVECTORAnton Korobeynikov2009-08-211-0/+1
| | | | llvm-svn: 79621
* Provide vext.{16,32}Anton Korobeynikov2009-08-212-13/+23
| | | | llvm-svn: 79620
* Use masks not nodes for vector shuffle predicates. Provide set of 'legal' ↵Anton Korobeynikov2009-08-212-15/+34
| | | | | | masks, so legalizer won't infinite cycle llvm-svn: 79619
* Remove #include <iostream>.Bill Wendling2009-08-211-1/+0
| | | | llvm-svn: 79603
* Remove Neon intrinsics for VZIP, VUZP, and VTRN. We will represent these asBob Wilson2009-08-211-57/+0
| | | | | | | vector shuffles. Temporarily remove the tests for these operations until the new implementation is working. llvm-svn: 79579
* Re-revert r79555. Apparently it's not just buildbot weirdness.Owen Anderson2009-08-201-35/+52
| | | | llvm-svn: 79578
* Reapply r79555 for testing. Daniel's trying to work out some buildbot ↵Owen Anderson2009-08-201-52/+35
| | | | | | weirdnesss. llvm-svn: 79572
* --- Reverse-merging r79555 into '.':Bill Wendling2009-08-201-35/+52
| | | | | | | | | U include/llvm/Target/TargetData.h U lib/Target/TargetData.cpp Temporarily revert 79555. It was causing hangs and test failures. llvm-svn: 79568
* part of the previous commit for PIC16 ISR implementation.Sanjiv Gupta2009-08-202-0/+178
| | | | llvm-svn: 79563
* Implement support for ISRs. Sanjiv Gupta2009-08-2010-280/+528
| | | | | | | | | Clone functions that are shared between the Main thread and Interrupt thread. CallSites are changed in AsmPrinter currently. A better solution would have been to modify the legalizer (SoftenFloat) to allow targets to change the name of libcalls for float operations. But that currently breaks other targets. Also, cloing of automatic variables is done AsmPrinter, a better approach would be to use the ValueMap in CloneFunction itself. llvm-svn: 79562
* Make the StructType->StructLayout table private to TargetData, allowing us ↵Owen Anderson2009-08-201-52/+35
| | | | | | to avoid locking on it. llvm-svn: 79555
* Fixed PCMPESTRM128 to have opcode 0x60 instead of 0x62, as specified by theSean Callanan2009-08-201-2/+2
| | | | | | Intel documentation. llvm-svn: 79554
* Fix an x86 code size regression: prefer RIP-relative addressingDan Gohman2009-08-201-0/+13
| | | | | | | | over absolute addressing even in non-PIC mode (unless the address has an index or something else incompatible), because it has a smaller encoding. llvm-svn: 79553
* Fix an obvious copy-n-paste bug.Evan Cheng2009-08-201-1/+1
| | | | llvm-svn: 79535
* Update and fix some comments.Dan Gohman2009-08-201-7/+7
| | | | llvm-svn: 79532
* Add an extra line to conform with preferred style.Dale Johannesen2009-08-191-1/+2
| | | | llvm-svn: 79495
* Modify an assert to avoid what looks like a GCC 4.2.4 signed-ness bug.Reid Kleckner2009-08-191-3/+5
| | | | llvm-svn: 79494
* Handle 'a' modifier in X86 asms. PR 4742.Dale Johannesen2009-08-191-0/+12
| | | | llvm-svn: 79484
* Fixed error in CPPBackend from a contextification API change.Reid Kleckner2009-08-191-3/+4
| | | | llvm-svn: 79483
* Remove temporary testing code.Dan Gohman2009-08-191-1/+0
| | | | llvm-svn: 79443
* Add an x86 peep that narrows TEST instructions to forms that useDan Gohman2009-08-191-6/+103
| | | | | | | a smaller encoding. These kinds of patterns are very frequent in sqlite3, for example. llvm-svn: 79439
* Update Cortex-A8 instruction itineraries for integer instructions.David Goodwin2009-08-196-365/+650
| | | | llvm-svn: 79436
* Add support for Neon VEXT (vector extract) shuffles.Bob Wilson2009-08-193-1/+69
| | | | | | | | This is derived from a patch by Anton Korzh. I modified it to recognize the VEXT shuffles during legalization and lower them to a target-specific DAG node. llvm-svn: 79428
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-1913-73/+94
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* Implement sse4.2 string/text processing instructions:Eric Christopher2009-08-184-1/+178
| | | | | | | | Add patterns and instruction encoding information. Add custom lowering to deal with hardwired return register of uncertain type (xmm0). llvm-svn: 79377
* Simplify RegScavenger::FindUnusedReg.Jakob Stoklund Olesen2009-08-184-13/+5
| | | | | | | | | - Drop the Candidates argument and fix all callers. Now that RegScavenger tracks available registers accurately, there is no need to restict the search. - Make sure that no aliases of the found register are in use. This was a potential bug. llvm-svn: 79369
* Add support for mergeable sections back into the XCore backend.Richard Osborne2009-08-181-5/+18
| | | | llvm-svn: 79368
* Put data with relocations in the same sections as data without relocations.Richard Osborne2009-08-181-1/+7
| | | | llvm-svn: 79351
* fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sectionsChris Lattner2009-08-181-0/+8
| | | | llvm-svn: 79346
* Text sections should have 'exec' flag set. This seems to unbreak libstdc++ ↵Anton Korobeynikov2009-08-181-0/+3
| | | | | | | | on linux. Patch by Dmitry Gorbachev! llvm-svn: 79334
* remove some pointless null switchtosections. The IntelAsmPrinter doesn't ↵Chris Lattner2009-08-181-4/+2
| | | | | | really work anyway. llvm-svn: 79321
* Fix revsh pattern.Evan Cheng2009-08-182-2/+2
| | | | llvm-svn: 79318
* add support for some targetflags on GV operands. This allows us toChris Lattner2009-08-181-2/+44
| | | | | | | | | | | send instructions like: NEW: movl "L___stack_chk_guard$non_lazy_ptr" - "L1$pb"(%esi), %eax OLD: movl L___stack_chk_guard$non_lazy_ptr-"L1$pb"(%esi), %eax through the streamer. Several fixmes. llvm-svn: 79317
* Fix function alignment at -Os on x86 to be 1, not 2. getFunctionAlignmentDan Gohman2009-08-181-1/+1
| | | | | | returns a log2 value. llvm-svn: 79293
* PowerPC inline asm was emitting two output operandsDale Johannesen2009-08-182-26/+12
| | | | | | | | | for a single "m" constraint; this is wrong because the opcode of a load or store would have to change in parallel. This patch makes it always compute addresses into a register, which is correct but not as efficient as possible. 7144566. llvm-svn: 79292
* Clear the uniquing table when initializing TLOF to avoid a crash when the ↵Benjamin Kramer2009-08-171-0/+6
| | | | | | TLOF is reinitialized with a different MCContext. llvm-svn: 79253
* Update getSectionForConstant() to to allow mergable sections to be nulled outRichard Osborne2009-08-171-3/+3
| | | | | | if not supported by the ELF subtarget. llvm-svn: 79249
* the MinPad argument to PadToColumn only really makes sense to be 1,Chris Lattner2009-08-172-5/+5
| | | | | | just remove the argument and replace it with 1. llvm-svn: 79246
* Avoid emitting XMM save code in soft-float or no-implicit-float modeDan Gohman2009-08-161-22/+25
| | | | | | or some other situation where no xmm registers need to be saved. llvm-svn: 79207
* Delete an unused field.Dan Gohman2009-08-161-3/+0
| | | | llvm-svn: 79206
* Fix use after free in Thumb2SizeReduction (PR4707). A MachineInstr was used ↵Benjamin Kramer2009-08-161-1/+4
| | | | | | after erasure. llvm-svn: 79189
* Styalistic and format changes. No functionality change.Bill Wendling2009-08-161-73/+85
| | | | llvm-svn: 79187
* add support for external symbols + X86::MOVPC32r.Chris Lattner2009-08-162-59/+123
| | | | llvm-svn: 79175
* implement support for lowering references to global addresses. For example, ↵Chris Lattner2009-08-162-5/+53
| | | | | | | | | | | | | we now can asmprint: NEW: movl "L___stack_chk_guard$non_lazy_ptr", %eax OLD: movl L___stack_chk_guard$non_lazy_ptr, %eax where 'new' is coming out of the MCInst version of the printer. llvm-svn: 79170
* more formatting improvements, no functionality change.Chris Lattner2009-08-161-57/+65
| | | | llvm-svn: 79167
* code formatting improvements, no functionality change.Chris Lattner2009-08-161-74/+85
| | | | llvm-svn: 79165
OpenPOWER on IntegriCloud