Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | More cpp backend fixes. Now for FP stuff. | Anton Korobeynikov | 2009-08-21 | 1 | -3/+3 |
| | | | | llvm-svn: 79626 | ||||
* | Fix some typos and use type-based isel for VZIP/VUZP/VTRN | Anton Korobeynikov | 2009-08-21 | 4 | -56/+56 |
| | | | | llvm-svn: 79625 | ||||
* | Add lowering of ARM 4-element shuffles to multiple instructios via ↵ | Anton Korobeynikov | 2009-08-21 | 3 | -9/+6720 |
| | | | | | | perfectshuffle-generated table. llvm-svn: 79624 | ||||
* | Add nodes & dummy matchers for some v{zip,uzp,trn} instructions | Anton Korobeynikov | 2009-08-21 | 3 | -0/+51 |
| | | | | llvm-svn: 79622 | ||||
* | Expand EXTRACT_SUBVECTOR | Anton Korobeynikov | 2009-08-21 | 1 | -0/+1 |
| | | | | llvm-svn: 79621 | ||||
* | Provide vext.{16,32} | Anton Korobeynikov | 2009-08-21 | 2 | -13/+23 |
| | | | | llvm-svn: 79620 | ||||
* | Use masks not nodes for vector shuffle predicates. Provide set of 'legal' ↵ | Anton Korobeynikov | 2009-08-21 | 2 | -15/+34 |
| | | | | | | masks, so legalizer won't infinite cycle llvm-svn: 79619 | ||||
* | Remove #include <iostream>. | Bill Wendling | 2009-08-21 | 1 | -1/+0 |
| | | | | llvm-svn: 79603 | ||||
* | Remove Neon intrinsics for VZIP, VUZP, and VTRN. We will represent these as | Bob Wilson | 2009-08-21 | 1 | -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 Anderson | 2009-08-20 | 1 | -35/+52 |
| | | | | llvm-svn: 79578 | ||||
* | Reapply r79555 for testing. Daniel's trying to work out some buildbot ↵ | Owen Anderson | 2009-08-20 | 1 | -52/+35 |
| | | | | | | weirdnesss. llvm-svn: 79572 | ||||
* | --- Reverse-merging r79555 into '.': | Bill Wendling | 2009-08-20 | 1 | -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 Gupta | 2009-08-20 | 2 | -0/+178 |
| | | | | llvm-svn: 79563 | ||||
* | Implement support for ISRs. | Sanjiv Gupta | 2009-08-20 | 10 | -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 Anderson | 2009-08-20 | 1 | -52/+35 |
| | | | | | | to avoid locking on it. llvm-svn: 79555 | ||||
* | Fixed PCMPESTRM128 to have opcode 0x60 instead of 0x62, as specified by the | Sean Callanan | 2009-08-20 | 1 | -2/+2 |
| | | | | | | Intel documentation. llvm-svn: 79554 | ||||
* | Fix an x86 code size regression: prefer RIP-relative addressing | Dan Gohman | 2009-08-20 | 1 | -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 Cheng | 2009-08-20 | 1 | -1/+1 |
| | | | | llvm-svn: 79535 | ||||
* | Update and fix some comments. | Dan Gohman | 2009-08-20 | 1 | -7/+7 |
| | | | | llvm-svn: 79532 | ||||
* | Add an extra line to conform with preferred style. | Dale Johannesen | 2009-08-19 | 1 | -1/+2 |
| | | | | llvm-svn: 79495 | ||||
* | Modify an assert to avoid what looks like a GCC 4.2.4 signed-ness bug. | Reid Kleckner | 2009-08-19 | 1 | -3/+5 |
| | | | | llvm-svn: 79494 | ||||
* | Handle 'a' modifier in X86 asms. PR 4742. | Dale Johannesen | 2009-08-19 | 1 | -0/+12 |
| | | | | llvm-svn: 79484 | ||||
* | Fixed error in CPPBackend from a contextification API change. | Reid Kleckner | 2009-08-19 | 1 | -3/+4 |
| | | | | llvm-svn: 79483 | ||||
* | Remove temporary testing code. | Dan Gohman | 2009-08-19 | 1 | -1/+0 |
| | | | | llvm-svn: 79443 | ||||
* | Add an x86 peep that narrows TEST instructions to forms that use | Dan Gohman | 2009-08-19 | 1 | -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 Goodwin | 2009-08-19 | 6 | -365/+650 |
| | | | | llvm-svn: 79436 | ||||
* | Add support for Neon VEXT (vector extract) shuffles. | Bob Wilson | 2009-08-19 | 3 | -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 clients | Chris Lattner | 2009-08-19 | 13 | -73/+94 |
| | | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405 | ||||
* | Implement sse4.2 string/text processing instructions: | Eric Christopher | 2009-08-18 | 4 | -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 Olesen | 2009-08-18 | 4 | -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 Osborne | 2009-08-18 | 1 | -5/+18 |
| | | | | llvm-svn: 79368 | ||||
* | Put data with relocations in the same sections as data without relocations. | Richard Osborne | 2009-08-18 | 1 | -1/+7 |
| | | | | llvm-svn: 79351 | ||||
* | fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections | Chris Lattner | 2009-08-18 | 1 | -0/+8 |
| | | | | llvm-svn: 79346 | ||||
* | Text sections should have 'exec' flag set. This seems to unbreak libstdc++ ↵ | Anton Korobeynikov | 2009-08-18 | 1 | -0/+3 |
| | | | | | | | | on linux. Patch by Dmitry Gorbachev! llvm-svn: 79334 | ||||
* | remove some pointless null switchtosections. The IntelAsmPrinter doesn't ↵ | Chris Lattner | 2009-08-18 | 1 | -4/+2 |
| | | | | | | really work anyway. llvm-svn: 79321 | ||||
* | Fix revsh pattern. | Evan Cheng | 2009-08-18 | 2 | -2/+2 |
| | | | | llvm-svn: 79318 | ||||
* | add support for some targetflags on GV operands. This allows us to | Chris Lattner | 2009-08-18 | 1 | -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. getFunctionAlignment | Dan Gohman | 2009-08-18 | 1 | -1/+1 |
| | | | | | | returns a log2 value. llvm-svn: 79293 | ||||
* | PowerPC inline asm was emitting two output operands | Dale Johannesen | 2009-08-18 | 2 | -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 Kramer | 2009-08-17 | 1 | -0/+6 |
| | | | | | | TLOF is reinitialized with a different MCContext. llvm-svn: 79253 | ||||
* | Update getSectionForConstant() to to allow mergable sections to be nulled out | Richard Osborne | 2009-08-17 | 1 | -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 Lattner | 2009-08-17 | 2 | -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 mode | Dan Gohman | 2009-08-16 | 1 | -22/+25 |
| | | | | | | or some other situation where no xmm registers need to be saved. llvm-svn: 79207 | ||||
* | Delete an unused field. | Dan Gohman | 2009-08-16 | 1 | -3/+0 |
| | | | | llvm-svn: 79206 | ||||
* | Fix use after free in Thumb2SizeReduction (PR4707). A MachineInstr was used ↵ | Benjamin Kramer | 2009-08-16 | 1 | -1/+4 |
| | | | | | | after erasure. llvm-svn: 79189 | ||||
* | Styalistic and format changes. No functionality change. | Bill Wendling | 2009-08-16 | 1 | -73/+85 |
| | | | | llvm-svn: 79187 | ||||
* | add support for external symbols + X86::MOVPC32r. | Chris Lattner | 2009-08-16 | 2 | -59/+123 |
| | | | | llvm-svn: 79175 | ||||
* | implement support for lowering references to global addresses. For example, ↵ | Chris Lattner | 2009-08-16 | 2 | -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 Lattner | 2009-08-16 | 1 | -57/+65 |
| | | | | llvm-svn: 79167 | ||||
* | code formatting improvements, no functionality change. | Chris Lattner | 2009-08-16 | 1 | -74/+85 |
| | | | | llvm-svn: 79165 |