LLVM 22.0.0git
llvm::MemTransferBase< BaseCL > Class Template Reference

Common base class for all memory transfer intrinsics. More...

#include "llvm/IR/IntrinsicInst.h"

Inheritance diagram for llvm::MemTransferBase< BaseCL >:
[legend]

Public Member Functions

ValuegetRawSource () const
 Return the arguments to the instruction.
const UsegetRawSourceUse () const
UsegetRawSourceUse ()
ValuegetSource () const
 This is just like getRawSource, but it strips off any cast instructions that feed it, giving the original input.
unsigned getSourceAddressSpace () const
MaybeAlign getSourceAlign () const
void setSource (Value *Ptr)
void setSourceAlignment (MaybeAlign Alignment)
void setSourceAlignment (Align Alignment)

Detailed Description

template<class BaseCL>
class llvm::MemTransferBase< BaseCL >

Common base class for all memory transfer intrinsics.

Simply provides common methods.

Definition at line 1060 of file IntrinsicInst.h.

Member Function Documentation

◆ getRawSource()

template<class BaseCL>
Value * llvm::MemTransferBase< BaseCL >::getRawSource ( ) const
inline

◆ getRawSourceUse() [1/2]

template<class BaseCL>
Use & llvm::MemTransferBase< BaseCL >::getRawSourceUse ( )
inline

Definition at line 1072 of file IntrinsicInst.h.

◆ getRawSourceUse() [2/2]

template<class BaseCL>
const Use & llvm::MemTransferBase< BaseCL >::getRawSourceUse ( ) const
inline

Definition at line 1069 of file IntrinsicInst.h.

◆ getSource()

template<class BaseCL>
Value * llvm::MemTransferBase< BaseCL >::getSource ( ) const
inline

This is just like getRawSource, but it strips off any cast instructions that feed it, giving the original input.

The returned value is guaranteed to be a pointer.

Definition at line 1077 of file IntrinsicInst.h.

References getRawSource(), and llvm::Value::stripPointerCasts().

Referenced by llvm::VNCoercion::analyzeLoadFromClobberingMemInst(), copyArrayElemsForMemCpy(), llvm::VNCoercion::getConstantMemInstValueForLoad(), llvm::VNCoercion::getMemInstValueForLoad(), overreadUndefContents(), and replaceMemCpy().

◆ getSourceAddressSpace()

template<class BaseCL>
unsigned llvm::MemTransferBase< BaseCL >::getSourceAddressSpace ( ) const
inline

Definition at line 1079 of file IntrinsicInst.h.

References llvm::cast(), getRawSource(), and getType().

◆ getSourceAlign()

template<class BaseCL>
MaybeAlign llvm::MemTransferBase< BaseCL >::getSourceAlign ( ) const
inline

◆ setSource()

template<class BaseCL>
void llvm::MemTransferBase< BaseCL >::setSource ( Value * Ptr)
inline

Definition at line 1087 of file IntrinsicInst.h.

References assert(), getRawSource(), getType(), and Ptr.

◆ setSourceAlignment() [1/2]

template<class BaseCL>
void llvm::MemTransferBase< BaseCL >::setSourceAlignment ( Align Alignment)
inline

Definition at line 1100 of file IntrinsicInst.h.

References llvm::Attribute::getWithAlignment().

◆ setSourceAlignment() [2/2]

template<class BaseCL>
void llvm::MemTransferBase< BaseCL >::setSourceAlignment ( MaybeAlign Alignment)
inline

Definition at line 1093 of file IntrinsicInst.h.

References llvm::Attribute::getWithAlignment().


The documentation for this class was generated from the following file: