llvm-6502/lib
Evan Cheng 276b77e66c Teach spiller to unfold instructions which modref spill slot when a scratch
register is available and when it's profitable.

e.g.
     xorq  %r12<kill>, %r13
     addq  %rax, -184(%rbp)
     addq  %r13, -184(%rbp)
==>
     xorq  %r12<kill>, %r13
     movq  -184(%rbp), %r12
     addq  %rax, %r12
     addq  %r13, %r12
     movq  %r12, -184(%rbp)

Two more instructions, but fewer memory accesses. It can also open up
opportunities for more optimizations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69341 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-17 01:29:40 +00:00
..
Analysis Handle a pointer type correctly in SCEVExpander::visitAddRecExpr. 2009-04-16 21:34:54 +00:00
Archive Add the private linkage. 2009-01-15 20:18:42 +00:00
AsmParser Fix warning in .ll parser, detect and reject available_externally on function 2009-04-13 07:02:02 +00:00
Bitcode Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
CodeGen Teach spiller to unfold instructions which modref spill slot when a scratch 2009-04-17 01:29:40 +00:00
CompilerDriver -write-graph now can be used with -o. 2009-03-27 12:57:14 +00:00
Debugger Oops...I committed too much. 2009-03-13 04:39:26 +00:00
ExecutionEngine make sure to unlock keymgr if the JIT is created and destroyed, all 2009-04-16 21:47:59 +00:00
Linker Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
Support teach EscapeString and UnescapeString to handle ". 2009-04-15 20:12:52 +00:00
System Call CreateProcess with bInheritHandles = TRUE. 2009-04-14 21:31:36 +00:00
Target MOV8rr_NOREX is a "Move" instruction. This doesn't currently 2009-04-17 00:45:17 +00:00
Transforms Use TargetData::getTypeSizeInBits instead of getPrimitiveSizeInBits() 2009-04-16 22:35:57 +00:00
VMCore Limit the number of times we're willing to chase pointers. Removes an O(n^2) 2009-04-15 06:23:41 +00:00
Makefile Reorganize llvmc code. 2009-03-02 09:01:14 +00:00