class MemIntrinsicBase
Declaration
template <typename Derived>
class MemIntrinsicBase : public IntrinsicInst { /* full declaration omitted */ };
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:325
Inherits from: IntrinsicInst
Templates
- Derived
Member Variables
Inherited from CallBase:
Inherited from Value:
- protected SubclassOptionalData
- protected NumUserOperands
- protected IsUsedByMD
- protected HasName
- protected HasHungOffUses
- protected HasDescriptor
- public static MaxAlignmentExponent = 29
- public static MaximumAlignment = 1U << MaxAlignmentExponent
Method Overview
- public llvm::Value * getDest() const
- public unsigned int getDestAddressSpace() const
- public llvm::MaybeAlign getDestAlign() const
- public unsigned int getDestAlignment() const
- public llvm::Value * getLength() const
- public const llvm::Use & getLengthUse() const
- public llvm::Use & getLengthUse()
- public llvm::Value * getRawDest() const
- public const llvm::Use & getRawDestUse() const
- public llvm::Use & getRawDestUse()
- public void setDest(llvm::Value * Ptr)
- public void setDestAlignment(unsigned int Alignment)
- public void setDestAlignment(llvm::MaybeAlign Alignment)
- public void setDestAlignment(llvm::Align Alignment)
- public void setLength(llvm::Value * L)
Inherited from IntrinsicInst:
Inherited from CallInst:
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public Create
- public CreateFree
- public CreateFree
- public CreateFree
- public CreateFree
- public CreateMalloc
- public CreateMalloc
- public CreateMalloc
- public CreateMalloc
- public canReturnTwice
- public classof
- public classof
- protected cloneImpl
- public getTailCallKind
- public isMustTailCall
- public isNoTailCall
- public isTailCall
- public setCanReturnTwice
- public setTailCall
- public setTailCallKind
- public updateProfWeight
Inherited from CallBase:
- protected CountBundleInputs
- public addAttribute
- public addAttribute
- public addDereferenceableAttr
- public addDereferenceableOrNullAttr
- public addParamAttr
- public addParamAttr
- public arg_begin
- public arg_begin
- public arg_empty
- public arg_end
- public arg_end
- public arg_operands
- public arg_operands
- public arg_size
- public args
- public args
- public bundleOperandHasAttr
- public bundle_op_info_begin
- public bundle_op_info_begin
- public bundle_op_info_end
- public bundle_op_info_end
- public bundle_op_infos
- public bundle_op_infos
- public cannotDuplicate
- public classof
- public classof
- public countOperandBundlesOfType
- public countOperandBundlesOfType
- public dataOperandHasImpliedAttr
- public data_operands_begin
- public data_operands_begin
- public data_operands_empty
- public data_operands_end
- public data_operands_end
- public data_operands_size
- public data_ops
- public data_ops
- public doesNoCfCheck
- public doesNotAccessMemory
- public doesNotAccessMemory
- public doesNotCapture
- public doesNotReadMemory
- public doesNotReadMemory
- public doesNotReturn
- public doesNotThrow
- public getArgOperand
- public getArgOperandNo
- public getArgOperandNo
- public getArgOperandUse
- public getArgOperandUse
- public getAttribute
- public getAttribute
- public getAttributes
- public getBundleOpInfoForOperand
- public getBundleOperandsEndIndex
- public getBundleOperandsStartIndex
- public getCalledFunction
- public getCalledOperand
- public getCalledOperandUse
- public getCalledOperandUse
- public getCalledValue
- public getCaller
- public getCaller
- public getCallingConv
- public getDataOperandNo
- public getDataOperandNo
- public getDereferenceableBytes
- public getDereferenceableOrNullBytes
- public getFunctionType
- public getIntrinsicID
- public getNumArgOperands
- public getNumOperandBundles
- protected getNumSubclassExtraOperands
- protected getNumSubclassExtraOperandsDynamic
- public getNumTotalBundleOperands
- public getOperandBundle
- public getOperandBundle
- public getOperandBundleAt
- public getOperandBundleForOperand
- public getOperandBundlesAsDefs
- public getParamAlign
- public getParamAlignment
- public getParamAttr
- public getParamAttr
- public getParamByValType
- public getRetAlign
- public getRetAlignment
- public getReturnedArgOperand
- public hasArgument
- public hasByValArgument
- public hasClobberingOperandBundles
- protected hasDescriptor
- public hasFnAttr
- public hasFnAttr
- public hasIdenticalOperandBundleSchema
- public hasInAllocaArgument
- public hasOperandBundles
- public hasOperandBundlesOtherThan
- public hasReadingOperandBundles
- public hasRetAttr
- public hasStructRetAttr
- public isArgOperand
- public isArgOperand
- public isBundleOperand
- public isBundleOperand
- public isBundleOperand
- public isByValArgument
- public isByValOrInAllocaArgument
- public isCallee
- public isCallee
- public isConvergent
- public isDataOperand
- public isDataOperand
- public isFnAttrDisallowedByOpBundle
- public isFnAttrDisallowedByOpBundle
- public isInAllocaArgument
- public isIndirectCall
- public isInlineAsm
- public isMustTailCall
- public isNoBuiltin
- public isNoInline
- public isReturnNonNull
- public isStrictFP
- public isTailCall
- public mutateFunctionType
- public onlyAccessesArgMemory
- public onlyAccessesInaccessibleMemOrArgMem
- public onlyAccessesInaccessibleMemory
- public onlyReadsMemory
- public onlyReadsMemory
- public operandBundleFromBundleOpInfo
- public paramHasAttr
- public populateBundleOperandInfos
- public removeAttribute
- public removeAttribute
- public removeParamAttr
- public removeParamAttr
- public returnDoesNotAlias
- public setArgOperand
- public setAttributes
- public setCalledFunction
- public setCalledFunction
- public setCalledFunction
- public setCalledOperand
- public setCallingConv
- public setCannotDuplicate
- public setConvergent
- public setDoesNotAccessMemory
- public setDoesNotReadMemory
- public setDoesNotReturn
- public setDoesNotThrow
- public setIsNoInline
- public setNotConvergent
- public setOnlyAccessesArgMemory
- public setOnlyAccessesInaccessibleMemOrArgMem
- public setOnlyAccessesInaccessibleMemory
- public setOnlyReadsMemory
Inherited from Instruction:
- public andIRFlags
- public applyMergedLocation
- public classof
- public clone
- public copyFastMathFlags
- public copyFastMathFlags
- public copyIRFlags
- public copyMetadata
- public dropPoisonGeneratingFlags
- public dropUnknownNonDebugMetadata
- public dropUnknownNonDebugMetadata
- public dropUnknownNonDebugMetadata
- public dropUnknownNonDebugMetadata
- public eraseFromParent
- public extractProfMetadata
- public extractProfTotalWeight
- public getAAMetadata
- public getAllMetadata
- public getAllMetadataOtherThanDebugLoc
- public getDebugLoc
- public getFastMathFlags
- public getFunction
- public getFunction
- public getMetadata
- public getMetadata
- public getModule
- public getModule
- public getNextNonDebugInstruction
- public getNextNonDebugInstruction
- public getNumSuccessors
- public getOpcode
- public getOpcodeName
- public getOpcodeName
- public getParent
- public getParent
- public getPrevNonDebugInstruction
- public getPrevNonDebugInstruction
- protected getSubclassDataFromInstruction
- public getSuccessor
- public hasAllowContract
- public hasAllowReassoc
- public hasAllowReciprocal
- public hasApproxFunc
- public hasAtomicLoad
- public hasAtomicStore
- public hasMetadata
- public hasMetadata
- public hasMetadata
- public hasMetadataOtherThanDebugLoc
- public hasNoInfs
- public hasNoNaNs
- public hasNoSignedWrap
- public hasNoSignedZeros
- public hasNoUnsignedWrap
- public insertAfter
- public insertBefore
- public isArithmeticShift
- public isAssociative
- public isAssociative
- public isAtomic
- public isBinaryOp
- public isBinaryOp
- public isBitwiseLogicOp
- public isBitwiseLogicOp
- public isCast
- public isCast
- public isCommutative
- public isCommutative
- public isEHPad
- public isExact
- public isExceptionalTerminator
- public isExceptionalTerminator
- public isFast
- public isFenceLike
- public isFuncletPad
- public isFuncletPad
- public isIdempotent
- public isIdempotent
- public isIdenticalTo
- public isIdenticalToWhenDefined
- public isIndirectTerminator
- public isIndirectTerminator
- public isIntDivRem
- public isIntDivRem
- public isLifetimeStartOrEnd
- public isLogicalShift
- public isNilpotent
- public isNilpotent
- public isSafeToRemove
- public isSameOperationAs
- public isShift
- public isShift
- public isTerminator
- public isTerminator
- public isUnaryOp
- public isUnaryOp
- public isUsedOutsideOfBlock
- public mayHaveSideEffects
- public mayReadFromMemory
- public mayReadOrWriteMemory
- public mayThrow
- public mayWriteToMemory
- public moveAfter
- public moveBefore
- public moveBefore
- public removeFromParent
- public replaceSuccessorWith
- public setAAMetadata
- public setDebugLoc
- public setFast
- public setFastMathFlags
- public setHasAllowReassoc
- public setHasAllowReciprocal
- public setHasApproxFunc
- public setHasNoInfs
- public setHasNoNaNs
- public setHasNoSignedWrap
- public setHasNoSignedZeros
- public setHasNoUnsignedWrap
- protected setInstructionSubclassData
- public setIsExact
- public setMetadata
- public setMetadata
- public setProfWeight
- public setSuccessor
- public swapProfMetadata
- public user_back
- public user_back
Inherited from User:
- protected Op
- protected Op
- protected OpFrom
- protected allocHungoffUses
- public classof
- public dropAllReferences
- public getDescriptor
- public getDescriptor
- public getNumOperands
- public getOperand
- public getOperandList
- public getOperandList
- public getOperandUse
- public getOperandUse
- protected growHungoffUses
- public op_begin
- public op_begin
- public op_end
- public op_end
- public operand_values
- public operand_values
- public operands
- public operands
- public replaceUsesOfWith
- public setGlobalVariableNumOperands
- public setNumHungOffUseOperands
- public setOperand
- public value_op_begin
- public value_op_begin
- public value_op_end
- public value_op_end
Inherited from Value:
- public DoPHITranslation
- public DoPHITranslation
- public addUse
- public assertModuleIsMaterialized
- public assertModuleIsMaterializedImpl
- public clearSubclassOptionalData
- public deleteValue
- public dump
- public getContext
- public getName
- public getNumUses
- public getPointerAlignment
- public getPointerDereferenceableBytes
- public getRawSubclassOptionalData
- protected getSubclassDataFromValue
- public getType
- public getValueID
- public getValueName
- public hasNUses
- public hasNUsesOrMore
- public hasName
- public hasOneUse
- public hasSameSubclassOptionalData
- public hasValueHandle
- public isSwiftError
- public isUsedByMetadata
- public isUsedInBasicBlock
- public materialized_use_begin
- public materialized_use_begin
- public materialized_use_empty
- public materialized_user_begin
- public materialized_user_begin
- public materialized_users
- public materialized_users
- public materialized_uses
- public materialized_uses
- public mutateType
- public print
- public print
- public printAsOperand
- public printAsOperand
- public replaceAllUsesWith
- public replaceNonMetadataUsesWith
- public replaceUsesOutsideBlock
- public replaceUsesWithIf
- public reverseUseList
- public setName
- public setValueName
- protected setValueSubclassData
- public sortUseList
- public stripAndAccumulateConstantOffsets
- public stripAndAccumulateConstantOffsets
- public stripAndAccumulateInBoundsConstantOffsets
- public stripAndAccumulateInBoundsConstantOffsets
- public stripInBoundsConstantOffsets
- public stripInBoundsConstantOffsets
- public stripInBoundsOffsets
- public stripInBoundsOffsets
- public stripPointerCasts
- public stripPointerCasts
- public stripPointerCastsAndAliases
- public stripPointerCastsAndAliases
- public stripPointerCastsAndInvariantGroups
- public stripPointerCastsAndInvariantGroups
- public stripPointerCastsSameRepresentation
- public stripPointerCastsSameRepresentation
- public takeName
- public use_begin
- public use_begin
- public use_empty
- public use_end
- public use_end
- public user_back
- public user_back
- public user_begin
- public user_begin
- public user_empty
- public user_end
- public user_end
- public users
- public users
- public uses
- public uses
Methods
¶llvm::Value* getDest() const
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:345
¶unsigned int getDestAddressSpace() const
unsigned int getDestAddressSpace() const
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:347
¶llvm::MaybeAlign getDestAlign() const
llvm::MaybeAlign getDestAlign() const
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:354
¶unsigned int getDestAlignment() const
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:353
¶llvm::Value* getLength() const
llvm::Value* getLength() const
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:336
¶const llvm::Use& getLengthUse() const
const llvm::Use& getLengthUse() const
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:339
¶llvm::Use& getLengthUse()
llvm::Use& getLengthUse()
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:340
¶llvm::Value* getRawDest() const
llvm::Value* getRawDest() const
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:330
¶const llvm::Use& getRawDestUse() const
const llvm::Use& getRawDestUse() const
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:333
¶llvm::Use& getRawDestUse()
llvm::Use& getRawDestUse()
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:334
¶void setDest(llvm::Value* Ptr)
void setDest(llvm::Value* Ptr)
Description
Set the specified arguments of the instruction.
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:357
Parameters
- llvm::Value* Ptr
¶void setDestAlignment(unsigned int Alignment)
void setDestAlignment(unsigned int Alignment)
Description
FIXME: Remove this function once transition to Align is over. Use the version that takes MaybeAlign instead of this one.
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:365
Parameters
- unsigned int Alignment
¶void setDestAlignment(llvm::MaybeAlign Alignment)
void setDestAlignment(llvm::MaybeAlign Alignment)
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:368
Parameters
- llvm::MaybeAlign Alignment
¶void setDestAlignment(llvm::Align Alignment)
void setDestAlignment(llvm::Align Alignment)
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:374
Parameters
- llvm::Align Alignment
¶void setLength(llvm::Value* L)
void setLength(llvm::Value* L)
Declared at: llvm/include/llvm/IR/IntrinsicInst.h:380
Parameters
- llvm::Value* L