1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
Go to file
Bob Wilson 10465d5aa9 Overhaul the TwoAddressInstructionPass to simplify the logic, especially
for the complicated case where one register is tied to multiple destinations.
This avoids the extra scan of instruction operands that was introduced by
my recent change.  I also pulled some code out into a separate
TryInstructionTransform method, added more comments, and renamed some
variables.

Besides all those changes, this takes care of a FIXME in the code regarding
an assumption about there being a single tied use of a register when
converting to a 3-address form.  I'm not aware of cases where that assumption
is violated, but the code now only attempts to transform an instruction,
either by commuting its operands or by converting to a 3-address form,
for the simple case where there is a single pair of tied operands.

llvm-svn: 80945
2009-09-03 20:58:42 +00:00
autoconf install-sh chmods to 0755 by default, and this causes 'git diff' to show 2009-08-28 16:12:48 +00:00
bindings Fix header comment for bindings/ocaml/llvm/Makefile. 2009-08-30 23:41:20 +00:00
cmake CMake: updated library dependencies. 2009-08-31 01:58:50 +00:00
docs Fix the syntax of add/sub/mul nsw/nuw and sdiv exact. 2009-09-02 17:31:42 +00:00
examples Allocate the module provider in the Kaleidoscope code on the heap, not the stack, so that it can be properly deleted. Also update the tutorial with the new code. This fixes PR4762, hopefully better than the last time. 2009-08-26 20:58:25 +00:00
include Recognize more opportunities to use SSE min and max instructions, 2009-09-03 20:34:31 +00:00
lib Overhaul the TwoAddressInstructionPass to simplify the logic, especially 2009-09-03 20:58:42 +00:00
projects install-sh chmods to 0755 by default, and this causes 'git diff' to show 2009-08-28 16:12:48 +00:00
runtime OptimalEdgeProfiling: Creation of profiles. 2009-09-01 19:03:44 +00:00
test There is not any need to copy metadata while merging modules. 2009-09-03 20:35:57 +00:00
tools Removed the non-target independent AsmToken::Register enum constant 2009-09-03 17:15:07 +00:00
unittests Now Bitcode reader bug is fixed. Reapply 80839. 2009-09-03 01:39:20 +00:00
utils PR4795: Remove EEVT::isFP, isInt and isVec types used by TableGen's type 2009-08-29 05:53:25 +00:00
website
win32 Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come. 2009-07-24 23:12:02 +00:00
Xcode Remove the IA-64 backend. 2009-07-24 00:30:09 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt revert r78628 and r78803 as these are not needed any more 2009-08-25 23:02:21 +00:00
configure install-sh chmods to 0755 by default, and this causes 'git diff' to show 2009-08-28 16:12:48 +00:00
CREDITS.TXT Add myself to the blame list. 2009-08-20 15:20:15 +00:00
LICENSE.TXT Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
llvm.spec.in
Makefile Improve support for cross-hosted builds of LLVM. 2009-09-02 23:52:23 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Improve support for cross-hosted builds of LLVM. 2009-09-02 23:52:23 +00:00
Makefile.rules Remove some unnecessary -f options. 2009-09-03 16:11:53 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt README.txt: test commit w/blank line appended 2009-03-23 21:00:45 +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.