class MemIntrinsicBase

Declaration

template <typename Derived>
class MemIntrinsicBase : public IntrinsicInst { /* full declaration omitted */ };

Description

Common base class for all memory intrinsics. Simply provides common methods. Written as CRTP to avoid a common base class amongst the three atomicity hierarchies.

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:724

Inherits from: IntrinsicInst

Templates

Derived

Member Variables

Inherited from CallBase:

protected Attrs
protected FTy
protected static CalledOperandOpEndIdx = -1

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasMetadata
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 32
public static MaximumAlignment = 1ULL << MaxAlignmentExponent

Method Overview

Inherited from IntrinsicInst:

Inherited from CallInst:

Inherited from CallBase:

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

llvm::Value* getDest() const

Description

This is just like getRawDest, but it strips off any cast instructions (including addrspacecast) that feed it, giving the original input. The returned value is guaranteed to be a pointer.

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:744

unsigned int getDestAddressSpace() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:746

llvm::MaybeAlign getDestAlign() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:757

unsigned int getDestAlignment() const

Description

FIXME: Remove this function once transition to Align is over. Use getDestAlign() instead.

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:752

llvm::Value* getLength() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:735

const llvm::Use& getLengthUse() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:738

llvm::Use& getLengthUse()

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:739

llvm::Value* getRawDest() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:729

const llvm::Use& getRawDestUse() const

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:732

llvm::Use& getRawDestUse()

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:733

void setDest(llvm::Value* Ptr)

Description

Set the specified arguments of the instruction.

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:760

Parameters

llvm::Value* Ptr

void setDestAlignment(llvm::MaybeAlign Alignment)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:766

Parameters

llvm::MaybeAlign Alignment

void setDestAlignment(llvm::Align Alignment)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:772

Parameters

llvm::Align Alignment

void setLength(llvm::Value* L)

Declared at: llvm/include/llvm/IR/IntrinsicInst.h:778

Parameters

llvm::Value* L