llvm/lib
Evan Cheng e6f350d755 Turn a 2-address instruction into a 3-address one when it's profitable even if the two-address operand is killed.
e.g.
%reg1024<def> = MOV r1
%reg1025<def> = ADD %reg1024, %reg1026
r0            = MOV %reg1025

If it's not possible / profitable to commute ADD, then turning ADD into a LEA saves a copy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68065 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-30 21:34:07 +00:00
..
Analysis getEntryFor() may invalidate DenseMap iterator. 2009-03-30 18:34:47 +00:00
Archive Add the private linkage. 2009-01-15 20:18:42 +00:00
AsmParser Fix a bug in our autoupgrade support: in an argument list to a function 2009-03-25 06:36:36 +00:00
Bitcode Fix internal representation of fp80 to be the 2009-03-23 21:16:53 +00:00
CodeGen Turn a 2-address instruction into a 3-address one when it's profitable even if the two-address operand is killed. 2009-03-30 21:34:07 +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 fix one more fp80 case (used only by Interpreter) 2009-03-24 18:16:17 +00:00
Linker Apply ODR linkage changes accidentally dropped during 2009-03-08 13:35:23 +00:00
Support move a large method out of line. 2009-03-28 02:08:47 +00:00
System fix a bug Alexei Svitkine pointed out. 2009-03-23 06:46:20 +00:00
Target Fix comment to match function name. 2009-03-30 18:49:37 +00:00
Transforms Revert r67798: it breaks llvm-gcc bootstrap on x86-64-linux, presumably due to 2009-03-27 14:56:47 +00:00
VMCore Fix infinite looping 2009-03-30 15:28:21 +00:00
Makefile Reorganize llvmc code. 2009-03-02 09:01:14 +00:00