summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
diff options
context:
space:
mode:
authorAnna Thomas <anna@azul.com>2017-06-06 16:45:25 +0000
committerAnna Thomas <anna@azul.com>2017-06-06 16:45:25 +0000
commitb2a212c070d9eaf84bc2310f19ffbb08da9d59ab (patch)
tree5c781c62cff63f821d610df632599427cf202ce0 /llvm/lib/Target/X86/X86TargetTransformInfo.cpp
parente4cda7417cdb8465111ea057ce4faff72043702a (diff)
downloadbcm5719-llvm-b2a212c070d9eaf84bc2310f19ffbb08da9d59ab.tar.gz
bcm5719-llvm-b2a212c070d9eaf84bc2310f19ffbb08da9d59ab.zip
[Atomics][LoopIdiom] Recognize unordered atomic memcpy
Summary: Expanding the loop idiom test for memcpy to also recognize unordered atomic memcpy. The only difference for recognizing an unordered atomic memcpy and instead of a normal memcpy is that the loads and/or stores involved are unordered atomic operations. Background: http://lists.llvm.org/pipermail/llvm-dev/2017-May/112779.html Patch by Daniel Neilson! Reviewers: reames, anna, skatkov Reviewed By: reames, anna Subscribers: llvm-commits, mzolotukhin Differential Revision: https://reviews.llvm.org/D33243 llvm-svn: 304806
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetTransformInfo.cpp')
-rw-r--r--llvm/lib/Target/X86/X86TargetTransformInfo.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
index fe94079fd86..1d58cccc308 100644
--- a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+++ b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
@@ -1383,6 +1383,8 @@ int X86TTIImpl::getCmpSelInstrCost(unsigned Opcode, Type *ValTy, Type *CondTy,
return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, I);
}
+unsigned X86TTIImpl::getAtomicMemIntrinsicMaxElementSize() const { return 16; }
+
int X86TTIImpl::getIntrinsicInstrCost(Intrinsic::ID IID, Type *RetTy,
ArrayRef<Type *> Tys, FastMathFlags FMF,
unsigned ScalarizationCostPassed) {
OpenPOWER on IntegriCloud