1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Go to file
Evan Cheng 96b886b846 Fixed a long standing spiller bug that's exposed by Thumb:
The code sequence before the spiller is something like:
                 = tMOVrr
        %reg1117 = tMOVrr
        %reg1078 = tLSLri %reg1117, 2

The it starts spilling:
        %r0 = tRestore <fi#5>, 0
        %r1 = tRestore <fi#7>, 0
        %r1 = tMOVrr %r1<kill>
        tSpill %r1, <fi#5>, 0
        %reg1078 = tLSLri %reg1117, 2

It restores the value while processing the first tMOVrr. At this point, the
spiller remembers fi#5 is available in %r0. Next it processes the second move.
It restores the source before the move and spills the result afterwards. The
move becomes a noop and is deleted. However, a spill has been inserted and that
should invalidate reuse of %r0 for fi#5 and add reuse of %r1 for fi#5.
Therefore, %reg1117 (which is also assigned fi#5) should get %r1, not %r0.

llvm-svn: 34039
2007-02-08 06:04:54 +00:00
autoconf Fix the TARGET_HAS_JIT settings. Sparc doesn't, x86_64 does, ARM doesn't. 2007-01-21 06:41:11 +00:00
docs remove some obsolete SymbolTable methods. These docs need to be updated 2007-02-07 06:24:17 +00:00
examples Fix a #include to resolve IntegerType class. 2007-01-19 22:45:50 +00:00
include Added new method to finish up the addition of passes to emit files. This 2007-02-08 01:34:45 +00:00
lib Fixed a long standing spiller bug that's exposed by Thumb: 2007-02-08 06:04:54 +00:00
projects remove obsolete comment 2007-01-17 05:26:57 +00:00
runtime the old trace values pass has been removed, remove its runtime library. 2007-01-07 18:13:48 +00:00
test New testcase for PR947 2007-02-08 04:34:03 +00:00
tools Avoid assert() in lto. Let linker handle all failures. Use LTO_WRITE_FAILURE 2007-02-08 01:48:28 +00:00
utils Automatically generating intrinsic declarations from Dan Gohman. Modified 2007-02-07 20:38:26 +00:00
win32 Unbreak VC++ build. 2007-01-15 20:27:18 +00:00
Xcode Update project 2007-01-29 18:45:08 +00:00
.cvsignore Add llvm.spec, a generated file. 2006-10-18 19:23:56 +00:00
configure Regenerate. 2007-01-21 06:42:03 +00:00
CREDITS.TXT Testing commit, and adding an entry to CREDITS.TXT 2007-01-08 03:10:00 +00:00
LICENSE.TXT Welcome 2007. 2007-01-18 21:22:36 +00:00
llvm.spec.in Minor technical correction in documentation. 2006-08-21 01:58:57 +00:00
Makefile Add a show-footprint target to run du a few times to show how much disk 2007-02-05 23:18:58 +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 For PR739: 2007-01-17 20:24:45 +00:00
Makefile.rules Make the cleaning of BUILT_SOURCES be a "clean-all" target item, not a 2007-02-07 19:13:19 +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.