[PATCH] D22519: Invariant start/end intrinsics overloaded for address space

Anna Thomas via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 19 08:35:14 PDT 2016


anna created this revision.
anna added a subscriber: llvm-commits.
Herald added a reviewer: tstellarAMD.

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)

https://reviews.llvm.org/D22519

Files:
  docs/LangRef.rst
  include/llvm/IR/Intrinsics.td
  lib/IR/AutoUpgrade.cpp
  test/CodeGen/AMDGPU/promote-alloca-invariant-markers.ll
  test/Feature/memorymarkers.ll
  test/Transforms/GlobalOpt/invariant-nodatalayout.ll
  test/Transforms/GlobalOpt/invariant.ll
  test/Transforms/InstCombine/invariant.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22519.64508.patch
Type: text/x-patch
Size: 9317 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160719/938563aa/attachment-0001.bin>


More information about the llvm-commits mailing list