1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Go to file
Jakob Stoklund Olesen acaf9e9ce1 Be more aggressive about following hints.
RAGreedy::tryAssign will now evict interference from the preferred
register even when another register is free.

To support this, add the EvictionCost struct that counts how many hints
are broken by an eviction. We don't want to break one hint just to
satisfy another.

Rename canEvict to shouldEvict, and add the first bit of eviction policy
that doesn't depend on spill weights: Always make room in the preferred
register as long as the evictees can be split and aren't already
assigned to their preferred register.

Also make the CSR avoidance more accurate. When looking for a cheaper
register it is OK to use a new volatile register. Only CSR aliases that
have never been used before should be avoided.

llvm-svn: 134735
2011-07-08 20:46:18 +00:00
autoconf Add initial *-*-rtems* target, from Joel Sherrill 2011-07-01 22:41:06 +00:00
bindings
cmake cmake/modules/LLVMLibDeps.cmake: Update to appease cmake builds. 2011-07-08 10:45:15 +00:00
docs Add documenation about "branch_weight" metadata and __builtin_expect instruction 2011-07-06 18:31:02 +00:00
examples Modify comment. 2011-06-09 20:11:46 +00:00
include Be more aggressive about following hints. 2011-07-08 20:46:18 +00:00
lib Be more aggressive about following hints. 2011-07-08 20:46:18 +00:00
projects
runtime Fix build for (some versions of?) MinGW. Patch by Ruben Van Boxem. 2011-06-23 18:24:27 +00:00
test Be more aggressive about following hints. 2011-07-08 20:46:18 +00:00
tools Eliminate asm parser's dependency on TargetMachine: 2011-07-08 01:53:10 +00:00
unittests Fix a subtle issue in SmallVector. The following code did not work as expected: 2011-07-06 22:36:59 +00:00
utils Fix dangling pointer. 2011-07-08 20:07:05 +00:00
website
.gitignore Ignore Vim swap files 2011-05-31 21:54:28 +00:00
build-for-llvm-top.sh
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 Add initial *-*-rtems* target, from Joel Sherrill 2011-07-01 22:41:06 +00:00
CREDITS.TXT
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
Makefile Install libprofile_rt.dylib where it's more available for gcov support. 2011-06-10 21:47:14 +00:00
Makefile.common
Makefile.config.in build/configure: Add support for --with-extra-ld-options flag (to provide extra 2011-06-16 22:30:38 +00:00
Makefile.rules TableGen'erated MC lowering for simple pseudo-instructions. 2011-07-08 17:36:35 +00:00
ModuleInfo.txt
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.