1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
Go to file
Jakob Stoklund Olesen 24726cedf4 Add a RegisterClassInfo class that lazily caches information about
register classes.

It provides information for each register class that cannot be
determined statically, like:

- The number of allocatable registers in a class after filtering out the
  reserved and invalid registers.

- The preferred allocation order with registers that overlap callee-saved
  registers last.

- The last callee-saved register that overlaps a given physical register.

This information usually doesn't change between functions, so it is
reused for compiling multiple functions when possible.  The many
possible combinations of reserved and callee saves registers makes it
unfeasible to compute this information statically in TableGen.

Use RegisterClassInfo to count available registers in various heuristics
in SimpleRegisterCoalescing, making the pass run 4% faster.

llvm-svn: 132450
2011-06-02 02:19:35 +00:00
autoconf ...this is not a good commit day for me. 2011-05-29 19:44:55 +00:00
bindings Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
cmake Fix cmake dependencies. 2011-05-24 00:58:06 +00:00
docs Fix html formatting. 2011-05-31 18:06:14 +00:00
examples Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
include Typos. 2011-06-01 23:32:40 +00:00
lib Add a RegisterClassInfo class that lazily caches information about 2011-06-02 02:19:35 +00:00
projects Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
runtime Fix MSVC warning regarding mkdir function usage. 2011-05-26 04:55:20 +00:00
test Detect FI|cst pattern in MipsDAGToDAGISel::SelectAddr. Patch by Sasa Stankovic. 2011-06-02 01:03:14 +00:00
tools Also remove -lLTO which should have been in r132349. I failed to apply this 2011-05-31 20:00:45 +00:00
unittests Add CreateLifetimeStart and CreateLifetimeEnd to the IRBuilder, with plans to 2011-05-21 23:14:36 +00:00
utils Add new -d option to tblgen. It writes a make(1)-style dependency file. 2011-06-01 13:10:15 +00:00
website
.gitignore Ignore Vim swap files 2011-05-31 21:54:28 +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 Rename profile_rt.so to libprofile_rt.so under configure+make (it already was 2011-04-29 02:12:06 +00:00
configure The dragonegg option to disable LLVM optimizations changed. 2011-05-23 16:50:29 +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
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 reverting test commit 2011-05-12 17:38:08 +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.