1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Go to file
Philip Reames 63d3545e07 !invariant.load semantics with potentially clobbering calls
A load from an invariant location is assumed to not alias any otherwise potentially aliasing stores. Our implementation only applied this rule to store instructions themselves whereas they it should apply for any memory accessing instruction. This results in both FRE and PRE becoming more effective at eliminating invariant loads.

Note that as a follow on change I will likely move this into AliasAnalysis itself. That's where the TBAA constant flag is handled and the semantics are essentially the same. I'd like to separate the semantic change from the refactoring and thus have extended the hack that's already in MemoryDependenceAnalysis for this change.

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

llvm-svn: 233140
2015-03-24 23:54:54 +00:00
autoconf [autoconf] Fix the build failure by quoting the strings. 2015-03-12 19:56:25 +00:00
bindings Go bindings: use MDNode::replaceAllUsesWith instead of MDTuple::replaceAllUsesWith. 2015-03-05 22:55:38 +00:00
cmake Disabling warnings for MSVC build to enable /W4 use. 2015-03-24 23:37:10 +00:00
docs docs: Update llvm-cov docs for the -use-color flag 2015-03-19 18:22:46 +00:00
examples CMake: Disable ENABLE_EXPORTS for executables with MSVC 2015-03-18 20:09:13 +00:00
include [llvm-readobj] add support for macho universal binary. 2015-03-24 20:26:55 +00:00
lib !invariant.load semantics with potentially clobbering calls 2015-03-24 23:54:54 +00:00
projects Reverse the order libc++ and libc++abi are added in CMake. 2015-03-04 01:16:43 +00:00
test !invariant.load semantics with potentially clobbering calls 2015-03-24 23:54:54 +00:00
tools llvm-cov: Require a subcommand when invoked as llvm-cov 2015-03-24 23:34:36 +00:00
unittests Opaque Pointer Types: GEP API migrations to specify the gep type explicitly 2015-03-24 23:34:31 +00:00
utils Revert "Use std::bitset for SubtargetFeatures" 2015-03-24 12:56:59 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Re-land: Generate targets for each lit suite. 2015-03-23 20:04:00 +00:00
CODE_OWNERS.TXT Tom is also responsible for the 3.6 branch. 2015-03-16 18:15:27 +00:00
configure [autoconf] Fix the build failure by quoting the strings. 2015-03-12 19:56:25 +00:00
CREDITS.TXT
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules Add support for SunOS function/data sections and associated 2015-03-03 20:54:29 +00:00
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.