class UndefValue
Declaration
class UndefValue : public ConstantData { /* full declaration omitted */ };
Description
'undef' values are things that do not have specified contents. These are used for a variety of purposes, including global variable initializers and operands to instructions. 'undef' values can occur with any first-class type. Undef values aren't exactly constants; if they have multiple uses, they can appear to have different bit patterns at each use. See LangRef.html#undefvalues for details.
Declared at: llvm/include/llvm/IR/Constants.h:1364
Inherits from: ConstantData
Member Variables
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
- private UndefValue(llvm::Type * T)
- protected UndefValue(llvm::Type * T, llvm::Value::ValueTy vty)
- public UndefValue(const llvm::UndefValue &)
- public static bool classof(const llvm::Value * V)
- private void destroyConstantImpl()
- public static llvm::UndefValue * get(llvm::Type * T)
- public llvm::UndefValue * getElementValue(llvm::Constant * C) const
- public llvm::UndefValue * getElementValue(unsigned int Idx) const
- public unsigned int getNumElements() const
- public llvm::UndefValue * getSequentialElement() const
- public llvm::UndefValue * getStructElement(unsigned int Elt) const
Inherited from ConstantData:
Inherited from Constant:
- public classof
- public containsConstantExpression
- public containsPoisonElement
- public containsUndefOrPoisonElement
- public destroyConstant
- public getAggregateElement
- public getAggregateElement
- public getAllOnesValue
- public getIntegerValue
- public getNullValue
- public getSplatValue
- public getUniqueInteger
- public handleOperandChange
- public hasExactInverseFP
- public hasOneLiveUse
- public hasZeroLiveUses
- public isAllOnesValue
- public isConstantUsed
- public isDLLImportDependent
- public isElementWiseEqual
- public isFiniteNonZeroFP
- public isManifestConstant
- public isMinSignedValue
- public isNaN
- public isNegativeZeroValue
- public isNormalFP
- public isNotMinSignedValue
- public isNotOneValue
- public isNullValue
- public isOneValue
- public isThreadDependent
- public isZeroValue
- public mergeUndefsWith
- public needsDynamicRelocation
- public needsRelocation
- public removeDeadConstantUsers
- public replaceUndefsWith
- public stripPointerCasts
- public stripPointerCasts
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 isDroppable
- 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
- protected addMetadata
- protected addMetadata
- public addUse
- public assertModuleIsMaterialized
- public assertModuleIsMaterializedImpl
- public canBeFreed
- protected clearMetadata
- public clearSubclassOptionalData
- public deleteValue
- public dropDroppableUse
- public dropDroppableUses
- public dropDroppableUsesIn
- public dump
- protected eraseMetadata
- protected getAllMetadata
- public getContext
- protected getMetadata
- protected getMetadata
- protected getMetadata
- protected getMetadata
- public getName
- public getNameOrAsOperand
- public getNumUses
- public getPointerAlignment
- public getPointerDereferenceableBytes
- public getRawSubclassOptionalData
- public getSingleUndroppableUse
- public getSingleUndroppableUse
- protected getSubclassDataFromValue
- public getType
- public getUniqueUndroppableUser
- public getUniqueUndroppableUser
- public getValueID
- public getValueName
- protected hasMetadata
- protected hasMetadata
- protected hasMetadata
- public hasNUndroppableUses
- public hasNUndroppableUsesOrMore
- public hasNUses
- public hasNUsesOrMore
- public hasName
- public hasOneUse
- public hasOneUser
- public hasSameSubclassOptionalData
- public hasValueHandle
- public isSwiftError
- public isTransitiveUsedByMetadataOnly
- 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
- protected setMetadata
- protected setMetadata
- 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 stripPointerCastsForAliasAnalysis
- public stripPointerCastsForAliasAnalysis
- 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
¶UndefValue(llvm::Type* T)
UndefValue(llvm::Type* T)
Declared at: llvm/include/llvm/IR/Constants.h:1367
Parameters
- llvm::Type* T
¶UndefValue(llvm::Type* T,
llvm::Value::ValueTy vty)
UndefValue(llvm::Type* T,
llvm::Value::ValueTy vty)
Declared at: llvm/include/llvm/IR/Constants.h:1372
Parameters
- llvm::Type* T
- llvm::Value::ValueTy vty
¶UndefValue(const llvm::UndefValue&)
UndefValue(const llvm::UndefValue&)
Declared at: llvm/include/llvm/IR/Constants.h:1375
Parameters
- const llvm::UndefValue&
¶static bool classof(const llvm::Value* V)
static bool classof(const llvm::Value* V)
Description
Methods for support type inquiry through isa, cast, and dyn_cast:
Declared at: llvm/include/llvm/IR/Constants.h:1399
Parameters
- const llvm::Value* V
¶void destroyConstantImpl()
void destroyConstantImpl()
Declared at: llvm/include/llvm/IR/Constants.h:1369
¶static llvm::UndefValue* get(llvm::Type* T)
static llvm::UndefValue* get(llvm::Type* T)
Description
Static factory methods - Return an 'undef' object of the specified type.
Declared at: llvm/include/llvm/IR/Constants.h:1378
Parameters
- llvm::Type* T
¶llvm::UndefValue* getElementValue(
llvm::Constant* C) const
llvm::UndefValue* getElementValue(
llvm::Constant* C) const
Description
Return an undef of the right value for the specified GEP index if we can, otherwise return null (e.g. if C is a ConstantExpr).
Declared at: llvm/include/llvm/IR/Constants.h:1390
Parameters
¶llvm::UndefValue* getElementValue(
unsigned int Idx) const
llvm::UndefValue* getElementValue(
unsigned int Idx) const
Description
Return an undef of the right value for the specified GEP index.
Declared at: llvm/include/llvm/IR/Constants.h:1393
Parameters
- unsigned int Idx
¶unsigned int getNumElements() const
unsigned int getNumElements() const
Description
Return the number of elements in the array, vector, or struct.
Declared at: llvm/include/llvm/IR/Constants.h:1396
¶llvm::UndefValue* getSequentialElement() const
llvm::UndefValue* getSequentialElement() const
Description
If this Undef has array or vector type, return a undef with the right element type.
Declared at: llvm/include/llvm/IR/Constants.h:1382
¶llvm::UndefValue* getStructElement(
unsigned int Elt) const
llvm::UndefValue* getStructElement(
unsigned int Elt) const
Description
If this undef has struct type, return a undef with the right element type for the specified element.
Declared at: llvm/include/llvm/IR/Constants.h:1386
Parameters
- unsigned int Elt