llvm-project/llvm
Sanjoy Das 69fad0799e [CodeGen] Add a pass to fold null checks into nearby memory operations.
Summary:
This change adds an "ImplicitNullChecks" target dependent pass.  This
pass folds null checks into memory operation using the FAULTING_LOAD
pseudo-op introduced in previous patches.

Depends on D10197
Depends on D10199
Depends on D10200

Reviewers: reames, rnk, pgavlin, JosephTremoulet, atrick

Reviewed By: atrick

Subscribers: ab, JosephTremoulet, llvm-commits

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

llvm-svn: 239743
2015-06-15 18:44:27 +00:00
..
autoconf configure: Remove non-portable fall-through operator: ;& 2015-06-13 03:46:48 +00:00
bindings IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
cmake [CMake] Try to fix r239612, not to miss resources/windows_version_resource.rc in clang build. 2015-06-14 21:47:29 +00:00
docs [CodeGen] Introduce a FAULTING_LOAD_OP pseudo-op. 2015-06-15 18:44:08 +00:00
examples BrainF.cpp: Update CreateCall() according to r237624. 2015-05-19 06:50:19 +00:00
include [CodeGen] Add a pass to fold null checks into nearby memory operations. 2015-06-15 18:44:27 +00:00
lib [CodeGen] Add a pass to fold null checks into nearby memory operations. 2015-06-15 18:44:27 +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 [CodeGen] Add a pass to fold null checks into nearby memory operations. 2015-06-15 18:44:27 +00:00
tools gold-plugin: save the .o when given -save-temps. 2015-06-15 13:36:27 +00:00
unittests [LinkerTest] Use LLVMDisposeMessage to free error string. 2015-06-15 15:42:26 +00:00
utils [CodeGen] Introduce a FAULTING_LOAD_OP pseudo-op. 2015-06-15 18:44:08 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
CODE_OWNERS.TXT Added Andrey Churbanov as the owner of the OpenMP runtime library code 2015-05-05 20:17:53 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Deprecate in-source autotools builds 2015-05-04 02:04:54 +00:00
Makefile.rules
README.txt
configure configure: Remove non-portable fall-through operator: ;& 2015-06-13 03:46:48 +00:00
llvm.spec.in

README.txt

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.