llvm-6502/lib
Evan Cheng 7f56625447 Local spiller optimization:
Turn this:
movswl  %ax, %eax
movl    %eax, -36(%ebp)
xorl    %edi, -36(%ebp)
into
movswl  %ax, %eax
xorl    %edi, %eax
movl    %eax, -36(%ebp)
by unfolding the load / store xorl into an xorl and a store when we know the
value in the spill slot is available in a register. This doesn't change the
number of instructions but reduce the number of times memory is accessed.

Also unfold some load folding instructions and reuse the value when similar
situation presents itself.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42947 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-13 02:50:24 +00:00
..
Analysis Bindings for the verifier. 2007-10-06 21:00:36 +00:00
Archive finishing touches of bytecode -> bitcode changes. also unbreak Windows 2007-07-06 20:28:40 +00:00
AsmParser Next PPC long double bits. First cut at constants. 2007-10-11 18:07:22 +00:00
Bitcode Next PPC long double bits. First cut at constants. 2007-10-11 18:07:22 +00:00
CodeGen Local spiller optimization: 2007-10-13 02:50:24 +00:00
Debugger switch this to bitcode instead of bytecode 2007-05-06 09:29:13 +00:00
ExecutionEngine Fix an assertion abort on sparc. malloc(0) is allowed to 2007-10-11 19:40:35 +00:00
Linker Use correct parentheses with the '&& "..."' idiom in an assert. 2007-10-08 15:13:30 +00:00
Support Remove duplicate comment. 2007-10-12 16:05:57 +00:00
System really fix PR1581, thanks to Daniel Dunbar for pointing 2007-09-28 20:50:50 +00:00
Target Change unfoldMemoryOperand(). User is now responsible for passing in the 2007-10-13 02:35:06 +00:00
Transforms Dest type is always i8 *. This allows some simplification. 2007-10-12 20:10:21 +00:00
VMCore Next PPC long double bits. First cut at constants. 2007-10-11 18:07:22 +00:00
Makefile build lib/Archive instead of lib/Bytecode 2007-05-06 19:50:06 +00:00