]> granicus.if.org Git - llvm/commit
Extend memcpy expansion in Transform/Utils to handle wider operand types.
authorSean Fertile <sfertile@ca.ibm.com>
Fri, 7 Jul 2017 02:00:06 +0000 (02:00 +0000)
committerSean Fertile <sfertile@ca.ibm.com>
Fri, 7 Jul 2017 02:00:06 +0000 (02:00 +0000)
commit471398ffea754114315a88743dfc1a3b00a21faf
tree8edd18215620c2f85cdc1670bd242611910e5afd
parent104fd8eec748470a4b7e123d862736a09e8e9a4d
Extend memcpy expansion in Transform/Utils to handle wider operand types.

Adds loop expansions for known-size and unknown-sized memcpy calls, allowing the
target to provide the operand types through TTI callbacks. The default values
for the TTI callbacks use int8 operand types and matches the existing behaviour
if they aren't overridden by the target.

Differential revision: https://reviews.llvm.org/D32536

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307346 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/TargetTransformInfo.h
include/llvm/Analysis/TargetTransformInfoImpl.h
include/llvm/Transforms/Utils/LowerMemIntrinsics.h
lib/Analysis/TargetTransformInfo.cpp
lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
lib/Transforms/Utils/LowerMemIntrinsics.cpp
test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
test/CodeGen/NVPTX/lower-aggr-copies.ll