forked from OSchip/llvm-project
parent
f04a22d9dc
commit
8ec39992c1
|
@ -3811,6 +3811,24 @@ static SDValue getMemmoveLoadsAndStores(SelectionDAG &DAG, SDLoc dl,
|
|||
&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,
|
||||
|
|
Loading…
Reference in New Issue