Mirror of official llvm git repository located at http://llvm.org/git/llvm. Updated every five minutes.
Go to file
Anna Thomas 4227f92f58 Invariant start/end intrinsics overloaded for address space
Summary:
The llvm.invariant.start and llvm.invariant.end intrinsics currently
support specifying invariant memory objects only in the default address space.

With this change, these intrinsics are overloaded for any adddress space for memory objects
and we can use these llvm invariant intrinsics in non-default address spaces.

Example: llvm.invariant.start.p1i8(i64 4, i8 addrspace(1)* %ptr)

This overloaded intrinsic is needed for representing final or invariant memory in managed languages.

Reviewers: tstellarAMD, reames, apilipenko

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276316 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-21 18:41:44 +00:00
bindings
cmake Add AIX support to Path.inc, Host.h, and CMake. 2016-07-19 22:46:39 +00:00
docs Invariant start/end intrinsics overloaded for address space 2016-07-21 18:41:44 +00:00
examples [Kaleidoscope][BuildingAJIT] Start filling in text for chapter 3. 2016-07-15 01:39:49 +00:00
include Invariant start/end intrinsics overloaded for address space 2016-07-21 18:41:44 +00:00
lib Invariant start/end intrinsics overloaded for address space 2016-07-21 18:41:44 +00:00
projects
resources
runtimes
test Invariant start/end intrinsics overloaded for address space 2016-07-21 18:41:44 +00:00
tools [llvm-config][GlobalISel] Canonicalize LLVM_HAS_GLOBAL_ISEL on ON/OFF. 2016-07-21 17:26:47 +00:00
unittests [DenseMap] Add a C++17-style try_emplace method. 2016-07-21 13:37:53 +00:00
utils GlobalISel: Remove explicit enumerator values from .def file. 2016-07-20 22:58:01 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake][GlobalISel] Turn LLVM_BUILD_GLOBAL_ISEL into an option. NFC. 2016-07-21 17:26:45 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT Adding RELEASE_TESTERS.TXT 2016-07-21 16:46:44 +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 are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.