Fork of llvm with experimental commits and workarounds for RPCS3
Go to file
Dan Gohman 268cfea6bc Fun x86 encoding tricks: when adding an immediate value of 128,
use a SUB instruction instead of an ADD, because -128 can be
encoded in an 8-bit signed immediate field, while +128 can't be.
This avoids the need for a 32-bit immediate field in this case.

A similar optimization applies to 64-bit adds with 0x80000000,
with the 32-bit signed immediate field.

To support this, teach tablegen how to handle 64-bit constants.

llvm-svn: 57663
2008-10-17 01:33:43 +00:00
autoconf Fix configure issue where configure 2008-10-07 22:21:03 +00:00
bindings
cmake CMake: Builds all targets. 2008-09-26 04:40:32 +00:00
docs Remove naming Tilmann for generics. 2008-10-15 20:25:04 +00:00
examples CMake: Builds all examples. Corrected name of CBackend target. 2008-09-26 19:48:03 +00:00
include Trim #includes. 2008-10-16 20:18:31 +00:00
lib Fun x86 encoding tricks: when adding an immediate value of 128, 2008-10-17 01:33:43 +00:00
projects
runtime
test Fun x86 encoding tricks: when adding an immediate value of 128, 2008-10-17 01:33:43 +00:00
tools Re-apply Makefile changes. Fix build with srcdir != objdir. 2008-10-16 14:02:29 +00:00
utils Fun x86 encoding tricks: when adding an immediate value of 128, 2008-10-17 01:33:43 +00:00
website
win32 update win32 project file, patch provided by OvermindDL1 on llvmdev. 2008-10-11 22:14:59 +00:00
Xcode Remove Stacker.html from Xcode project. 2008-10-14 23:23:59 +00:00
build-for-llvm-top.sh
CMakeLists.txt Fun x86 encoding tricks: when adding an immediate value of 128, 2008-10-17 01:33:43 +00:00
configure Fix configure issue where configure 2008-10-07 22:21:03 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile Add support for Canadian Cross builds where the host executables are not 2008-10-02 22:56:44 +00:00
Makefile.common
Makefile.config.in Add support for Canadian Cross builds where the host executables are not 2008-10-02 22:56:44 +00:00
Makefile.rules Fun x86 encoding tricks: when adding an immediate value of 128, 2008-10-17 01:33:43 +00:00
ModuleInfo.txt
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.