1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Go to file
Chris Lattner 811dc49f55 Add some simplifications for MULH[SU]. This allows us to compile this:
long %bar(long %X) {
  %Y = mul long %X, 4294967297
  ret long %Y
}

to this:

l1_bar:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %EDX, %EAX
        add %EDX, DWORD PTR [%ESP + 8]
        ret

instead of:

l1_bar:
        mov %ECX, DWORD PTR [%ESP + 4]
        mov %EDX, 1
        mov %EAX, %ECX
        mul %EDX
        add %EDX, %ECX
        add %EDX, DWORD PTR [%ESP + 8]
        mov %EAX, %ECX
        ret

llvm-svn: 22044
2005-05-15 05:39:08 +00:00
autoconf Changes for ffs lib call simplification: 2005-05-14 16:42:52 +00:00
docs add x86-64 abi 2005-05-14 22:06:42 +00:00
examples Don't forget these are calls 2005-05-06 06:21:59 +00:00
include/llvm Forgot to commit this earlier. Its part of the simplify-libcalls 2005-05-14 20:04:19 +00:00
lib Add some simplifications for MULH[SU]. This allows us to compile this: 2005-05-15 05:39:08 +00:00
projects The previous hack didn't work because tools-only isn't defined and isn't 2005-05-13 17:42:54 +00:00
runtime Remove trailing whitespace 2005-04-21 23:48:37 +00:00
test Make sure this is not eligible for tail-call-elimination so that we test 2005-05-14 23:54:55 +00:00
tools If loopextract breaks the program provide output so that we can repro the 2005-05-08 21:54:56 +00:00
utils add support for fastcc and friends 2005-05-13 20:40:52 +00:00
win32 Add SimplyLibCalls.cpp to VC++ build 2005-04-26 02:57:49 +00:00
.cvsignore Ignore the autom4te.cache directoy. 2004-12-24 15:11:23 +00:00
configure Changes for ffs lib call simplification: 2005-05-14 16:42:52 +00:00
CREDITS.TXT Update my info 2005-05-08 01:07:48 +00:00
LICENSE.TXT Remove extraneous colons after program names for consistency 2005-05-12 21:39:01 +00:00
llvm.spec Some minor adjustments for the 1.5 release. 2005-05-14 05:52:07 +00:00
Makefile Remove the check target. Its now in Makefile.rules 2004-12-06 05:35:00 +00:00
Makefile.common Update comments to reflect new variable names. Patch contributed by 2005-02-14 16:02:19 +00:00
Makefile.config.in Two changes: 2005-04-22 17:14:14 +00:00
Makefile.rules * Make some warning messages stand out a bit by putting **** at the end 2005-05-13 18:32:54 +00:00
README.txt Make the text of this file a little more useful. 2004-09-02 22:49:27 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.