llvm-6502/lib
Dan Gohman 584fedf188 Teach two-address lowering how to unfold a load to open up commuting
opportunities. For example, this lets it emit this:

   movq (%rax), %rcx
   addq %rdx, %rcx

instead of this:

   movq %rdx, %rcx
   addq (%rax), %rcx

in the case where %rdx has subsequent uses. It's the same number
of instructions, and usually the same encoding size on x86, but
it appears faster, and in general, it may allow better scheduling
for the load.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106493 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-21 22:17:20 +00:00
..
Analysis Use A.append(...) instead of A.insert(A.end(), ...) when A is a 2010-06-21 19:47:52 +00:00
Archive Eliminate some unnessary Path::exists() calls. 2010-05-27 20:51:54 +00:00
AsmParser Eliminate the restriction that the array size in an alloca must be i32. 2010-05-28 01:14:11 +00:00
Bitcode Tidy. 2010-06-19 05:33:57 +00:00
CodeGen Teach two-address lowering how to unfold a load to open up commuting 2010-06-21 22:17:20 +00:00
CompilerDriver Print a space after the colon. 2010-05-20 21:11:37 +00:00
ExecutionEngine Handle execution entrypoints with non-integer return types. 2010-06-18 02:01:10 +00:00
Linker Add basic error checking to MemoryBuffer::getSTDIN. 2010-05-27 17:31:51 +00:00
MC "This is just a cosmetic change in MCAsmStreamer.cpp/EmitSymbolAttribute: all attributes have now a \t before and after, as done for '.type'. 2010-06-21 20:35:01 +00:00
Support Use calloc instead of new/memset, it is more efficient when the set is very large. 2010-06-19 17:00:31 +00:00
System Avoid "variable 'bits' set but not used [-Wunused-but-set-variable]" 2010-06-10 16:23:15 +00:00
Target change parameter name to avoid confusion with global definition 2010-06-21 21:28:07 +00:00
Transforms Use A.append(...) instead of A.insert(A.end(), ...) when A is a 2010-06-21 19:47:52 +00:00
VMCore Use A.append(...) instead of A.insert(A.end(), ...) when A is a 2010-06-21 19:47:52 +00:00
Makefile