llvm-project/llvm
Silviu Baranga ac920f7716 [LAA] Allow more run-time alias checks by coercing pointer expressions to AddRecExprs
Summary:
LAA can only emit run-time alias checks for pointers with affine AddRec
SCEV expressions. However, non-AddRecExprs can be now be converted to
affine AddRecExprs using SCEV predicates.

This change tries to add the minimal set of SCEV predicates in order
to enable run-time alias checking.

Reviewers: anemet, mzolotukhin, mkuper, sanjoy, hfinkel

Reviewed By: hfinkel

Subscribers: mssimpso, Ayal, dorit, roman.shirokiy, mzolotukhin, llvm-commits

Differential Revision: https://reviews.llvm.org/D17080

llvm-svn: 313012
2017-09-12 07:48:22 +00:00
..
bindings Update the Go bindings for r309426 (remove offset from llvm.dbg.value) 2017-07-28 22:44:44 +00:00
cmake [CMake] Update GetSVN.cmake to handle repo 2017-09-09 14:17:52 +00:00
docs Fix broken links to the Itanium CXX ABI 2017-09-12 00:19:11 +00:00
examples Fix broken links to the Itanium CXX ABI 2017-09-12 00:19:11 +00:00
include Fix broken links to the Itanium CXX ABI 2017-09-12 00:19:11 +00:00
lib [LAA] Allow more run-time alias checks by coercing pointer expressions to AddRecExprs 2017-09-12 07:48:22 +00:00
projects
resources
runtimes [CMake][runtimes] Use the same configuration for non-target and "default" target 2017-09-08 22:26:50 +00:00
test [LAA] Allow more run-time alias checks by coercing pointer expressions to AddRecExprs 2017-09-12 07:48:22 +00:00
tools Remove unneccessary string copies from method invocations. 2017-09-12 02:27:39 +00:00
unittests CoverageMappingTest.cpp: Suppress warnings. [-Wdocumentation] 2017-09-09 06:19:53 +00:00
utils [TableGen] Ensure that __lsan_is_turned_off isn't removed by DCE in llvm-tblgen 2017-09-11 13:50:39 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [cmake] Stop putting the revision info in LLVM_VERSION_STRING 2017-08-29 21:44:21 +00:00
CODE_OWNERS.TXT [ARC] Add ARC backend. 2017-08-24 15:40:33 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt Test commit access 2017-08-18 02:39:28 +00:00
RELEASE_TESTERS.TXT
configure
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 are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.