Old fork of llvm-mirror, used on older RPCS3 builds
Go to file
Adam Nemet 09fa5a537e [LAA] Begin moving the logic of generating checks out of addRuntimeCheck
Summary:
The goal is to start moving us closer to the model where
RuntimePointerChecking will compute and store the checks.  Then a client
can filter the check according to its requirements and then use the
filtered list of checks with addRuntimeCheck.

Before the patch, this is all done in addRuntimeCheck.  So the patch
starts to split up addRuntimeCheck while providing the old API under
what's more or less a wrapper now.

The new underlying addRuntimeCheck takes a collection of checks now,
expands the code for the bounds then generates the code for the checks.

I am not completely happy with making expandBounds static because now it
needs so many explicit arguments but I don't want to make the type
PointerBounds part of LAI.  This should get fixed when addRuntimeCheck
is moved to LoopVersioning where it really belongs, IMO.

Audited the assembly diff of the testsuite (including externals).  There
is a tiny bit of assembly churn that is due to the different order the
code for the bounds is expanded now
(MultiSource/Benchmarks/Prolangs-C/bison/conflicts.s and with LoopDist
on 456.hmmer/fast_algorithms.s).

Reviewers: hfinkel

Subscribers: klimek, llvm-commits

Differential Revision: http://reviews.llvm.org/D11205

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243239 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-26 05:32:14 +00:00
autoconf Update the trunk version to 3.8.0svn. 2015-07-14 22:35:57 +00:00
bindings Revert "Update LLVM bindings after r239940. ..." 2015-07-16 01:16:39 +00:00
cmake build: fix small typo in cmake doxygen build 2015-07-24 01:14:25 +00:00
docs DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
examples DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
include [LAA] Begin moving the logic of generating checks out of addRuntimeCheck 2015-07-26 05:32:14 +00:00
lib [LAA] Begin moving the logic of generating checks out of addRuntimeCheck 2015-07-26 05:32:14 +00:00
projects build: make libunwind a proper project 2015-04-25 01:47:39 +00:00
resources In MSVC builds embed a VERSIONINFO resource in our exe and DLL files. 2015-06-12 15:58:29 +00:00
test [InstCombine] Split off SSE4a tests. 2015-07-25 17:14:01 +00:00
tools Update for r243115 which changed the DataLayout API on TargetMachine but 2015-07-24 17:23:09 +00:00
unittests DI: Fix unit tests after r243160 2015-07-24 21:11:06 +00:00
utils test-release.sh: Defer test errors until the end 2015-07-24 16:16:09 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Minor updates to gitignore so that symlinks are ignored in the projects dir. 2015-07-07 20:24:58 +00:00
CMakeLists.txt Update the trunk version to 3.8.0svn. 2015-07-14 22:35:57 +00:00
CODE_OWNERS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
configure Update the trunk version to 3.8.0svn. 2015-07-14 22:35:57 +00:00
CREDITS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Disallow in-source builds (as we already do for the cmake build). 2015-07-01 18:09:21 +00:00
Makefile.rules
README.txt Revert test commit at revision 233535. 2015-03-30 12:39:03 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

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