[PATCH] D28909: [InstCombineCalls] Unfold element atomic memcpy instruction

Igor Laevsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 19 09:41:07 PST 2017


igor-laevsky created this revision.

This change teaches instruction combiner on how to unfold element atomic memcpy intrinsic into sequence of explicit atomic memory operations.

Also I added new IntrinsicInst subclass to provide user friendly interface for the element atomic memcpy intrinsic. In the future we want to integrate this new class into MemIntrinsic hierarchy which will allow us to easily write optimizations covering both atomic and non-atomic versions. However as a first step I decided to frame it as a separate entity and refactor it later after we determine which use cases generalised interface should cover.


https://reviews.llvm.org/D28909

Files:
  include/llvm/IR/IntrinsicInst.h
  lib/Transforms/InstCombine/InstCombineCalls.cpp
  lib/Transforms/InstCombine/InstCombineInternal.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28909.84981.patch
Type: text/x-patch
Size: 6303 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170119/9f737972/attachment.bin>


More information about the llvm-commits mailing list