llvm-project/llvm
Philip Reames d9f4a3d18c [BasicAA/MDA] Sink aliasing rules for malloc and calloc into BasicAA
MemoryDependenceAnalysis had a hard-coded exception to the general aliasing rules for malloc and calloc. The reasoning that applied there is equally valid in BasicAA and clarifies the remaining logic in MDA.

In principal, this can expose slightly more optimization opportunities, but since essentially all of our aliasing aware memory optimization passes go through MDA, this will likely be NFC in practice.

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

llvm-svn: 263075
2016-03-09 23:19:56 +00:00
..
bindings Kill LLVMAddTargetData 2016-02-16 00:22:02 +00:00
cmake cmake: include what you use 2016-03-08 18:56:00 +00:00
docs ReleaseNotes: update 'you may prefer' link to 3.8 2016-03-09 17:25:34 +00:00
examples Refactor duplicated code for linking with pthread. 2016-03-01 15:54:40 +00:00
include [LICM] Store promotion when memory is thread local 2016-03-09 22:59:30 +00:00
lib [BasicAA/MDA] Sink aliasing rules for malloc and calloc into BasicAA 2016-03-09 23:19:56 +00:00
projects Remove autoconf support 2016-01-26 21:29:08 +00:00
resources
test [CGP] Duplicate addressing computation in cold paths if required to sink addressing mode 2016-03-09 23:13:12 +00:00
tools [llvm-readobj] Enable GNU style section group print 2016-03-09 19:16:13 +00:00
unittests [AsmParser] Expose an API to parse a string starting with a type. 2016-03-08 00:37:07 +00:00
utils [CodeGen] Add space-optimized EmitMergeInputChains1_2 to the DAG isel matching tables. Shaves about 5100 bytes from the X86 matcher table. NFC 2016-03-07 07:29:12 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] Add test-depends target to build dependencies of check-all 2016-03-02 17:56:30 +00:00
CODE_OWNERS.TXT Add self to CODE_OWNERS 2016-03-08 19:01:15 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt Revert previous test commit. 2016-01-04 19:13:29 +00:00
configure Remove autoconf support 2016-01-26 21:29:08 +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 are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.