Fork of llvm with experimental commits and workarounds for RPCS3
Go to file
Jakob Stoklund Olesen 6501ea2557 Prefer cheap registers for busy live ranges.
On the x86-64 and thumb2 targets, some registers are more expensive to encode
than others in the same register class.

Add a CostPerUse field to the TableGen register description, and make it
available from TRI->getCostPerUse. This represents the cost of a REX prefix or a
32-bit instruction encoding required by choosing a high register.

Teach the greedy register allocator to prefer cheap registers for busy live
ranges (as indicated by spill weight).

llvm-svn: 129864
2011-04-20 18:19:48 +00:00
autoconf Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
bindings Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
cmake Disable warning C4181: "qualifier applied to reference type; ignored" 2011-04-19 00:03:17 +00:00
docs docs: Use <Hn> as Heading elements instead of <DIV class="doc_foo">. 2011-04-18 23:59:50 +00:00
examples Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
include Prefer cheap registers for busy live ranges. 2011-04-20 18:19:48 +00:00
lib Prefer cheap registers for busy live ranges. 2011-04-20 18:19:48 +00:00
projects Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
runtime Write out uint64_t as i{0..32},i{33..64} instead of i{0..32},0. 2011-04-16 10:25:32 +00:00
test PTX: Add intrinsics to list of built-in intrinsics, which allows them to be 2011-04-20 15:37:17 +00:00
tools llc: Fix a refacto, .loc support didn't work before 10.6. 2011-04-20 00:47:19 +00:00
unittests Implements StringRef::compare with bounds. It is behaves similarly to strncmp(). Unit tests also included. 2011-04-15 17:56:50 +00:00
utils Prefer cheap registers for busy live ranges. 2011-04-20 18:19:48 +00:00
website
.gitignore Cleanup and document .gitignore. 2010-12-17 17:22:50 +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 Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
configure Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
CREDITS.TXT Another git svn dcommit test. This time let's hope it doesn't kill my repo. 2010-12-10 14:45:10 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile build: Add support for a SHOW_DIAGNOSTICS build variable. 2011-04-11 22:37:39 +00:00
Makefile.common
Makefile.config.in autoconf: Add --disable-embed-stdcxx to suppress linking libstdc++.a into llvm.dll with --enable-shared on Cygming. 2010-12-29 03:59:14 +00:00
Makefile.rules Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
ModuleInfo.txt Remove trailing space. This is just an excuse to poke the 2010-10-05 20:32:15 +00:00
README.txt Test commit. 2011-02-11 19:11:57 +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.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.