LLVM  14.0.0git
Public Member Functions | List of all members
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 >:
Inheritance graph
[legend]
Collaboration diagram for llvm::MemTransferBase< BaseCL >:
Collaboration graph
[legend]

Public Member Functions

ValuegetRawSource () const
 Return the arguments to the instruction. More...
 
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. More...
 
unsigned getSourceAddressSpace () const
 
unsigned getSourceAlignment () const
 FIXME: Remove this function once transition to Align is over. More...
 
MaybeAlign getSourceAlign () const
 
void setSource (Value *Ptr)
 
void setSourceAlignment (unsigned Alignment)
 FIXME: Remove this function once transition to Align is over. More...
 
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 700 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 712 of file IntrinsicInst.h.

◆ getRawSourceUse() [2/2]

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

Definition at line 709 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 717 of file IntrinsicInst.h.

Referenced by llvm::VNCoercion::analyzeLoadFromClobberingMemInst(), and llvm::VNCoercion::getMemInstValueForLoadHelper().

◆ getSourceAddressSpace()

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

Definition at line 719 of file IntrinsicInst.h.

◆ getSourceAlign()

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

Definition at line 731 of file IntrinsicInst.h.

Referenced by llvm::expandMemCpyAsLoop(), and llvm::expandMemMoveAsLoop().

◆ getSourceAlignment()

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

FIXME: Remove this function once transition to Align is over.

Use getSourceAlign() instead.

Definition at line 725 of file IntrinsicInst.h.

◆ setSource()

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

Definition at line 735 of file IntrinsicInst.h.

◆ setSourceAlignment() [1/3]

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

Definition at line 752 of file IntrinsicInst.h.

◆ setSourceAlignment() [2/3]

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

Definition at line 746 of file IntrinsicInst.h.

◆ setSourceAlignment() [3/3]

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

FIXME: Remove this function once transition to Align is over.

Use the version that takes MaybeAlign instead of this one.

Definition at line 743 of file IntrinsicInst.h.

Referenced by llvm::MemTransferBase< AnyMemIntrinsic >::setSourceAlignment().


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