Add element atomic memset intrinsic
authorDaniel Neilson <dneilson@azul.com>
Wed, 12 Jul 2017 21:57:23 +0000 (21:57 +0000)
committerDaniel Neilson <dneilson@azul.com>
Wed, 12 Jul 2017 21:57:23 +0000 (21:57 +0000)
commit965613ef1b07ed44614ef93dc319f2c14170dff4
treec3b00ba52768e7c54f8722c3982b746746326148
parentc0402c6916709f7982ca171075cc47b2f0cb6bad
Add element atomic memset intrinsic

Summary: Continuing the work from https://reviews.llvm.org/D33240, this change introduces an element unordered-atomic memset intrinsic. This intrinsic is essentially memset with the implementation requirement that all stores used for the assignment are done with unordered-atomic stores of a given element size.

Reviewers: eli.friedman, reames, mkazantsev, skatkov

Reviewed By: reames

Subscribers: jfb, dschuff, sbc100, jgravelle-google, aheejin, efriedma, llvm-commits

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

llvm-svn: 307854
llvm/docs/LangRef.rst
llvm/include/llvm/CodeGen/RuntimeLibcalls.h
llvm/include/llvm/IR/IntrinsicInst.h
llvm/include/llvm/IR/Intrinsics.td
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/CodeGen/TargetLoweringBase.cpp
llvm/lib/IR/Verifier.cpp
llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
llvm/test/CodeGen/X86/element-wise-atomic-memory-intrinsics.ll
llvm/test/Verifier/element-wise-atomic-memory-intrinsics.ll