1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/lib
Chris Lattner 70e351fb1c Simplify handling of shifts to be the same as we do for adds. Add support
for (X * C1) + (X * C2) (where * can be mul or shl), allowing us to fold:

   Y+Y+Y+Y+Y+Y+Y+Y

into
         %tmp.8 = shl long %Y, ubyte 3           ; <long> [#uses=1]

instead of

        %tmp.4 = shl long %Y, ubyte 2           ; <long> [#uses=1]
        %tmp.12 = shl long %Y, ubyte 2          ; <long> [#uses=1]
        %tmp.8 = add long %tmp.4, %tmp.12               ; <long> [#uses=1]

This implements add.ll:test25

Also add support for (X*C1)-(X*C2) -> X*(C1-C2), implementing sub.ll:test18

llvm-svn: 17704
2004-11-13 19:50:12 +00:00
..
Analysis Fix a bug that was preventing povray and namd from pool allocating correctly. 2004-11-08 21:08:46 +00:00
AsmParser Make sure that the yacc and lex output are specified as BUILT_SOURCES. 2004-10-28 00:43:24 +00:00
Bytecode Recognize compressed LLVM bytecode files. 2004-11-09 19:37:07 +00:00
CodeGen Do not make i have bigger scope that we need 2004-11-05 04:47:37 +00:00
Debugger Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
ExecutionEngine Implement ExecutionEngine::freeMachineCodeForFunction() 2004-11-07 23:58:46 +00:00
Linker Makefile for lib/Linker 2004-11-12 20:38:45 +00:00
Support Tune compression: 2004-11-09 17:58:09 +00:00
System Fix isBytecodeFile to correctly recognized compressed bytecode too. 2004-11-09 20:27:23 +00:00
Target Correct the name of stosd for the AT&T syntax: 2004-11-10 04:48:15 +00:00
Transforms Simplify handling of shifts to be the same as we do for adds. Add support 2004-11-13 19:50:12 +00:00
VMCore Stop propagating method names that violate the coding standard 2004-11-05 22:15:36 +00:00
Makefile Wrap long line 2004-09-15 01:34:42 +00:00