| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Drop dead includes | Anton Korobeynikov | 2008-04-23 | 1 | -3/+0 |
| | | | | | llvm-svn: 50192 | ||||
| * | Adjust option names for C++ backend | Anton Korobeynikov | 2008-04-23 | 1 | -11/+11 |
| | | | | | llvm-svn: 50190 | ||||
| * | First step of implementing PR1538: move llvm2cpp logic to new 'target' | Anton Korobeynikov | 2008-04-23 | 3 | -0/+2026 |
| | | | | | llvm-svn: 50189 | ||||
| * | Initial CBE support for multiple return values. | Dan Gohman | 2008-04-23 | 1 | -0/+30 |
| | | | | | llvm-svn: 50187 | ||||
| * | Fix typo | Anton Korobeynikov | 2008-04-23 | 1 | -1/+1 |
| | | | | | llvm-svn: 50169 | ||||
| * | Only allow increase of max alignment value | Anton Korobeynikov | 2008-04-23 | 1 | -1/+2 |
| | | | | | llvm-svn: 50168 | ||||
| * | Be over-conservative: scan for all used virtual registers and calculate ↵ | Anton Korobeynikov | 2008-04-23 | 2 | -2/+11 |
| | | | | | | | maximal stack alignment in assumption, that there will be spill of vector register. llvm-svn: 50167 | ||||
| * | Add X86 Maximal Stack Alignment Calculator Pass before RA | Anton Korobeynikov | 2008-04-23 | 4 | -9/+43 |
| | | | | | llvm-svn: 50166 | ||||
| * | Do proper book-keeping of offsets and prologue/epilogue code for stack ↵ | Anton Korobeynikov | 2008-04-23 | 1 | -44/+81 |
| | | | | | | | realignment llvm-svn: 50163 | ||||
| * | If stack realignment is used - incoming args will use EBP as base register ↵ | Anton Korobeynikov | 2008-04-23 | 1 | -9/+28 |
| | | | | | | | and locals - ESP llvm-svn: 50162 | ||||
| * | Eastimate required stack alignment early, so we can decide, whether we will ↵ | Anton Korobeynikov | 2008-04-23 | 2 | -0/+21 |
| | | | | | | | need frame pointer or not llvm-svn: 50161 | ||||
| * | Cleanup | Anton Korobeynikov | 2008-04-23 | 1 | -1/+3 |
| | | | | | llvm-svn: 50159 | ||||
| * | Simplify | Anton Korobeynikov | 2008-04-23 | 1 | -26/+16 |
| | | | | | llvm-svn: 50158 | ||||
| * | Make stack alignment options global for all targets | Anton Korobeynikov | 2008-04-23 | 3 | -9/+15 |
| | | | | | llvm-svn: 50157 | ||||
| * | Provide option for enabling-disabling stack realignment | Anton Korobeynikov | 2008-04-23 | 1 | -2/+8 |
| | | | | | llvm-svn: 50156 | ||||
| * | Disable stack realignment for functions with dynamic-sized alloca's | Anton Korobeynikov | 2008-04-23 | 1 | -1/+4 |
| | | | | | llvm-svn: 50155 | ||||
| * | Provide ABI-correct stack alignment | Anton Korobeynikov | 2008-04-23 | 1 | -5/+3 |
| | | | | | llvm-svn: 50154 | ||||
| * | Provide convenient helpers for some operations | Anton Korobeynikov | 2008-04-23 | 2 | -64/+88 |
| | | | | | llvm-svn: 50153 | ||||
| * | Whitespace cleanup | Anton Korobeynikov | 2008-04-23 | 1 | -28/+26 |
| | | | | | llvm-svn: 50152 | ||||
| * | Implement an x86-64 ABI detail of passing structs by hidden first | Dan Gohman | 2008-04-21 | 3 | -2/+67 |
| | | | | | | | | | | | | argument. The x86-64 ABI requires the incoming value of %rdi to be copied to %rax on exit from a function that is returning a large C struct. Also, add a README-X86-64 entry detailing the missed optimization opportunity and proposing an alternative approach. llvm-svn: 50075 | ||||
| * | Fix the encoding of the MMX movd that moves from MMX to 64-bit GPR. | Dan Gohman | 2008-04-21 | 1 | -1/+1 |
| | | | | | llvm-svn: 50053 | ||||
| * | Add an ugly note. | Chris Lattner | 2008-04-21 | 1 | -0/+35 |
| | | | | | llvm-svn: 50029 | ||||
| * | Don't forget to update the current operand when getting the size of an ↵ | Nicolas Geoffray | 2008-04-20 | 1 | -4/+14 |
| | | | | | | | instruction. llvm-svn: 50007 | ||||
| * | A better fix for my previous patch, MOVZQI2PQIrr just requires SSE2. | Chris Lattner | 2008-04-20 | 1 | -1/+1 |
| | | | | | llvm-svn: 49986 | ||||
| * | Switch to using Simplified ConstantFP::get API. | Chris Lattner | 2008-04-20 | 1 | -21/+16 |
| | | | | | llvm-svn: 49977 | ||||
| * | 64-bit atomic operations. | Evan Cheng | 2008-04-19 | 4 | -56/+80 |
| | | | | | llvm-svn: 49949 | ||||
| * | Also LXCHG64 -> XCHG64rm. | Evan Cheng | 2008-04-19 | 1 | -3/+3 |
| | | | | | llvm-svn: 49948 | ||||
| * | PPC32 atomic operations. | Evan Cheng | 2008-04-19 | 3 | -2/+184 |
| | | | | | llvm-svn: 49947 | ||||
| * | xchg which references a memory operand does not need to lock prefix. ↵ | Evan Cheng | 2008-04-19 | 1 | -14/+15 |
| | | | | | | | Atomicity is guaranteed. llvm-svn: 49946 | ||||
| * | Fix the handling of va_copy on x86-64. As of llvm-gcc r49920 | Dan Gohman | 2008-04-18 | 1 | -14/+4 |
| | | | | | | | | llvm-gcc is now lowering va_copy on x86-64, so this completes the fix for PR2230. llvm-svn: 49922 | ||||
| * | - Fix atomic operation JIT encoding. | Evan Cheng | 2008-04-18 | 3 | -54/+30 |
| | | | | | | | - Remove unused instructions. llvm-svn: 49921 | ||||
| * | Also support Intel asm syntax. | Evan Cheng | 2008-04-17 | 1 | -20/+20 |
| | | | | | llvm-svn: 49878 | ||||
| * | Fix assembly code for atomic operations. | Evan Cheng | 2008-04-17 | 1 | -18/+18 |
| | | | | | llvm-svn: 49869 | ||||
| * | Don't forget about sub-register indices when rematting instructions. | Evan Cheng | 2008-04-16 | 1 | -0/+13 |
| | | | | | llvm-svn: 49830 | ||||
| * | Unbreak build on x86-64. | Dale Johannesen | 2008-04-16 | 1 | -1/+1 |
| | | | | | llvm-svn: 49822 | ||||
| * | Correlate stubs with functions in JIT: when emitting a stub, the JIT tells ↵ | Nicolas Geoffray | 2008-04-16 | 8 | -31/+46 |
| | | | | | | | | | the memory manager which function the stub will resolve. llvm-svn: 49814 | ||||
| * | Infrastructure for getting the machine code size of a function and an ↵ | Nicolas Geoffray | 2008-04-16 | 12 | -208/+612 |
| | | | | | | | instruction. X86, PowerPC and ARM are implemented llvm-svn: 49809 | ||||
| * | Initialize X863DNowLevel. | Evan Cheng | 2008-04-16 | 1 | -0/+1 |
| | | | | | llvm-svn: 49808 | ||||
| * | Ongoing work on improving the instruction selection infrastructure: | Roman Levenstein | 2008-04-16 | 1 | -6/+6 |
| | | | | | | | | | | | Rename SDOperandImpl back to SDOperand. Introduce the SDUse class that represents a use of the SDNode referred by an SDOperand. Now it is more similar to Use/Value classes. Patch is approved by Dan Gohman. llvm-svn: 49795 | ||||
| * | Add support for the form of the SSE41 extractps instruction that | Dan Gohman | 2008-04-16 | 2 | -5/+6 |
| | | | | | | | puts its result in a 32-bit GPR. llvm-svn: 49762 | ||||
| * | Recreate the size SDNode instead of reusing the old one in the x86 | Dan Gohman | 2008-04-16 | 1 | -2/+2 |
| | | | | | | | | | memcpy lowering code; this ensures that the size node has the desired result type. This fixes a regression from r49572 with @llvm.memcpy.i64 on x86-32. llvm-svn: 49761 | ||||
| * | Remove X86_64SRet; it isn't used anymore. | Dan Gohman | 2008-04-16 | 1 | -11/+0 |
| | | | | | llvm-svn: 49759 | ||||
| * | Add movd instructions to move from MMX registers | Dan Gohman | 2008-04-15 | 1 | -0/+12 |
| | | | | | | | to 64-bit GPR registers on x86-64. llvm-svn: 49757 | ||||
| * | Change Divided flag to Split, as suggested by Evan | Nicolas Geoffray | 2008-04-15 | 1 | -2/+2 |
| | | | | | llvm-svn: 49715 | ||||
| * | Remove unnecessary <sstream> includes. | Dan Gohman | 2008-04-14 | 1 | -1/+0 |
| | | | | | llvm-svn: 49681 | ||||
| * | Fix const-correctness issues with the SrcValue handling in the | Dan Gohman | 2008-04-14 | 4 | -10/+10 |
| | | | | | | | memory intrinsic expansion code. llvm-svn: 49666 | ||||
| * | Reverse sense of unwind-tables option. This means | Dale Johannesen | 2008-04-14 | 3 | -6/+6 |
| | | | | | | | | stack tracebacks on Darwin x86-64 won't work by default; nevertheless, everybody but me thinks this is a good idea. llvm-svn: 49663 | ||||
| * | Add a divided flag for the first piece of an argument divided into mulitple ↵ | Nicolas Geoffray | 2008-04-13 | 1 | -12/+12 |
| | | | | | | | parts. Fixes PR1643 llvm-svn: 49611 | ||||
| * | Provide option for stack alignment override | Anton Korobeynikov | 2008-04-12 | 1 | -0/+7 |
| | | | | | llvm-svn: 49593 | ||||
| * | This patch corrects the handling of byval arguments for tailcall | Arnold Schwaighofer | 2008-04-12 | 2 | -29/+148 |
| | | | | | | | | | | | | | | | | | | | | | | | optimized x86-64 (and x86) calls so that they work (... at least for my test cases). Should fix the following problems: Problem 1: When i introduced the optimized handling of arguments for tail called functions (using a sequence of copyto/copyfrom virtual registers instead of always lowering to top of the stack) i did not handle byval arguments correctly e.g they did not work at all :). Problem 2: On x86-64 after the arguments of the tail called function are moved to their registers (which include ESI/RSI etc), tail call optimization performs byval lowering which causes xSI,xDI, xCX registers to be overwritten. This is handled in this patch by moving the arguments to virtual registers first and after the byval lowering the arguments are moved from those virtual registers back to RSI/RDI/RCX. llvm-svn: 49584 | ||||

