[llvm] r190866 - Added documentation to getMemsetStores.

Serge Pavlov sepavloff at gmail.com
Tue Sep 17 09:24:42 PDT 2013

Author: sepavloff
Date: Tue Sep 17 11:24:42 2013
New Revision: 190866

URL: http://llvm.org/viewvc/llvm-project?rev=190866&view=rev
Added documentation to getMemsetStores.


Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp?rev=190866&r1=190865&r2=190866&view=diff
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Tue Sep 17 11:24:42 2013
@@ -3811,6 +3811,24 @@ static SDValue getMemmoveLoadsAndStores(
                      &OutChains[0], OutChains.size());
+/// \brief Lower the call to 'memset' intrinsic function into a series of store
+/// operations.
+/// \param DAG Selection DAG where lowered code is placed.
+/// \param dl Link to corresponding IR location.
+/// \param Chain Control flow dependency.
+/// \param Dst Pointer to destination memory location.
+/// \param Src Value of byte to write into the memory.
+/// \param Size Number of bytes to write.
+/// \param Align Alignment of the destination in bytes.
+/// \param isVol True if destination is volatile.
+/// \param DstPtrInfo IR information on the memory pointer.
+/// \returns New head in the control flow, if lowering was successful, empty
+/// SDValue otherwise.
+/// The function tries to replace 'llvm.memset' intrinsic with several store
+/// operations and value calculation code. This is usually profitable for small
+/// memory size.
 static SDValue getMemsetStores(SelectionDAG &DAG, SDLoc dl,
                                SDValue Chain, SDValue Dst,
                                SDValue Src, uint64_t Size,

More information about the llvm-commits mailing list