- Apr 18, 2008
-
-
Evan Cheng authored
- Remove unused instructions. llvm-svn: 49921
-
Evan Cheng authored
llvm-svn: 49878
-
- Apr 17, 2008
-
-
Evan Cheng authored
llvm-svn: 49869
-
Evan Cheng authored
llvm-svn: 49830
-
Dale Johannesen authored
llvm-svn: 49822
-
- Apr 16, 2008
-
-
Nicolas Geoffray authored
Correlate stubs with functions in JIT: when emitting a stub, the JIT tells the memory manager which function the stub will resolve. llvm-svn: 49814
-
Nicolas Geoffray authored
Infrastructure for getting the machine code size of a function and an instruction. X86, PowerPC and ARM are implemented llvm-svn: 49809
-
Evan Cheng authored
llvm-svn: 49808
-
Roman Levenstein authored
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
-
Dan Gohman authored
puts its result in a 32-bit GPR. llvm-svn: 49762
-
Dan Gohman authored
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
-
Dan Gohman authored
llvm-svn: 49759
-
Dan Gohman authored
to 64-bit GPR registers on x86-64. llvm-svn: 49757
-
- Apr 14, 2008
-
-
Dan Gohman authored
memory intrinsic expansion code. llvm-svn: 49666
-
Dale Johannesen authored
stack tracebacks on Darwin x86-64 won't work by default; nevertheless, everybody but me thinks this is a good idea. llvm-svn: 49663
-
- Apr 13, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 49593
-
- Apr 12, 2008
-
-
Arnold Schwaighofer authored
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
-
Dan Gohman authored
on any current target and aren't optimized in DAGCombiner. Instead of using intermediate nodes, expand the operations, choosing between simple loads/stores, target-specific code, and library calls, immediately. Previously, the code to emit optimized code for these operations was only used at initial SelectionDAG construction time; now it is used at all times. This fixes some cases where rep;movs was being used for small copies where simple loads/stores would be better. This also cleans up code that checks for alignments less than 4; let the targets make that decision instead of doing it in target-independent code. This allows x86 to use rep;movs in low-alignment cases. Also, this fixes a bug that resulted in the use of rep;stos for memsets of 0 with non-constant memory size when the alignment was at least 4. It's better to use the library in this case, which can be significantly faster when the size is large. This also preserves more SourceValue information when memory intrinsics are lowered into simple loads/stores. llvm-svn: 49572
-
Dan Gohman authored
8-byte-aligned data. llvm-svn: 49571
-
Nate Begeman authored
llvm-svn: 49569
-
- Apr 10, 2008
-
-
Chris Lattner authored
llvm-svn: 49466
-
Chris Lattner authored
llvm-svn: 49465
-
Chris Lattner authored
MOVZQI2PQIrr. This would be better handled as a dag combine (with the goal of eliminating the bitconvert) but I don't know how to do that safely. Thoughts welcome. llvm-svn: 49463
-
- Apr 09, 2008
-
-
Dan Gohman authored
llvm-svn: 49446
-
Dan Gohman authored
is needed for the x86-64-ABI handling of structs that contain floating-point members that are returned by value. llvm-svn: 49441
-
Dan Gohman authored
llvm-svn: 49440
-
- Apr 08, 2008
-
-
Dale Johannesen authored
correctly when unwind info is being generated. llvm-svn: 49366
-
Dale Johannesen authored
Corresponds to -fno-unwind-tables (usually default in gcc). llvm-svn: 49361
-
- Apr 07, 2008
-
-
Dan Gohman authored
review feedback from Chris quite a while ago. No functionality change. llvm-svn: 49348
-
Roman Levenstein authored
by Dan Gohman is fixed. llvm-svn: 49330
-
- Apr 06, 2008
-
-
Gabor Greif authored
Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
-
- Apr 05, 2008
-
-
Evan Cheng authored
llvm-svn: 49244
-
- Apr 03, 2008
-
-
Evan Cheng authored
llvm-svn: 49158
-
Evan Cheng authored
Fix x86-64 encoding bug. REX prefix must always follow 0x0F prefix. For example, extractps in 64bit mode: 66 REX 0F 3A 17, not 66 0F 3A REX 17. llvm-svn: 49157
-
Evan Cheng authored
llvm-svn: 49156
-
Evan Cheng authored
llvm-svn: 49129
-
Evan Cheng authored
llvm-svn: 49124
-
- Apr 02, 2008
-
-
Dale Johannesen authored
llvm-svn: 49096
-
Anton Korobeynikov authored
when some another register is used for argument passing. Currently is used on Win64. llvm-svn: 49079
-
Dale Johannesen authored
review feedback. -enable-eh is still accepted but doesn't do anything. EH intrinsics use Dwarf EH if the target supports that, and are handled by LowerInvoke otherwise. The separation of the EH table and frame move data is, I think, logically figured out, but either one still causes full EH info to be generated (not sure how to split the metadata correctly). MachineModuleInfo::needsFrameInfo is no longer used and is removed. llvm-svn: 49064
-