1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
Go to file
Chris Lattner de148c7887 move a bunch of register constraints from being handled by
getRegClassForInlineAsmConstraint to being handled by
getRegForInlineAsmConstraint.  This allows us to let the llvm register allocator
allocate, which gives us better code.  For example, X86/2007-01-29-InlineAsm-ir.ll
used to compile to:

_run_init_process:
        subl $4, %esp
        movl %ebx, (%esp)
        xorl %ebx, %ebx
        movl $11, %eax
        movl %ebx, %ecx
        movl %ebx, %edx
        # InlineAsm Start
        push %ebx ; movl %ebx,%ebx ; int $0x80 ; pop %ebx
        # InlineAsm End

Now we get:
_run_init_process:
        xorl %ecx, %ecx
        movl $11, %eax
        movl %ecx, %edx
        # InlineAsm Start
        push %ebx ; movl %ecx,%ebx ; int $0x80 ; pop %ebx
        # InlineAsm End

llvm-svn: 35804
2007-04-09 05:49:22 +00:00
autoconf Check for .svn directories too to determine if a debug build is appropriate. 2007-04-02 15:40:39 +00:00
docs Rephrase linker explanation. 2007-04-07 17:43:25 +00:00
examples
include Move isReachableFromEntry out of line to avoid an unnecessary #include 2007-04-09 04:07:36 +00:00
lib move a bunch of register constraints from being handled by 2007-04-09 05:49:22 +00:00
projects
runtime
test add another test 2007-04-09 05:26:48 +00:00
tools Make TempDir a PathWithStatus so we don't have to cast it to one. 2007-04-08 20:08:01 +00:00
utils Update for PathWithStatus 2007-04-07 19:49:35 +00:00
win32 Track new header file. 2007-04-08 21:19:52 +00:00
Xcode
.cvsignore
configure Regenerate. 2007-04-02 15:41:39 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in For PR789: 2007-03-29 19:05:44 +00:00
Makefile.rules For PR789: 2007-03-29 19:05:44 +00:00
README.txt

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.