class ConstantStruct
Declaration
class ConstantStruct : public ConstantAggregate { /* full declaration omitted */ };
Description
Base class for aggregate constants (with operands). These constants are aggregates of other constants, which are stored as operands. Subclasses are \a ConstantStruct, \a ConstantArray, and \a ConstantVector.
Declared at: llvm/include/llvm/IR/Constants.h:445
Inherits from: ConstantAggregate
Member Variables
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 static bool classof(const llvm::Value * V)
- public static llvm::Constant * get(llvm::StructType * T, ArrayRef<llvm::Constant *> V)
- public template <typename... Csts>static typename std::enable_if<are_base_of<Constant, Csts...>::value, Constant *>::type get(llvm::StructType * T, Csts *... Vs)
- public static llvm::Constant * getAnon(ArrayRef<llvm::Constant *> V, bool Packed = false)
- public static llvm::Constant * getAnon(llvm::LLVMContext & Ctx, ArrayRef<llvm::Constant *> V, bool Packed = false)
- public inline llvm::StructType * getType() const
- public static llvm::StructType * getTypeForElements(ArrayRef<llvm::Constant *> V, bool Packed = false)
- public static llvm::StructType * getTypeForElements(llvm::LLVMContext & Ctx, ArrayRef<llvm::Constant *> V, bool Packed = false)
Inherited from ConstantAggregate:
Inherited from Constant:
- public canTrap
- public classof
- public containsConstantExpression
- public containsUndefElement
- public destroyConstant
- public getAggregateElement
- public getAggregateElement
- public getAllOnesValue
- public getIntegerValue
- public getNullValue
- public getSplatValue
- public getUniqueInteger
- public handleOperandChange
- public hasExactInverseFP
- public isAllOnesValue
- public isConstantUsed
- public isDLLImportDependent
- public isElementWiseEqual
- public isFiniteNonZeroFP
- public isMinSignedValue
- public isNaN
- public isNegativeZeroValue
- public isNormalFP
- public isNotMinSignedValue
- public isNotOneValue
- public isNullValue
- public isOneValue
- public isThreadDependent
- public isZeroValue
- 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 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
¶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:491
Parameters
- const llvm::Value* V
¶static llvm::Constant* get(
llvm::StructType* T,
ArrayRef<llvm::Constant*> V)
static llvm::Constant* get(
llvm::StructType* T,
ArrayRef<llvm::Constant*> V)
Declared at: llvm/include/llvm/IR/Constants.h:456
Parameters
- llvm::StructType* T
- ArrayRef<llvm::Constant*> V
¶template <typename... Csts>
static typename std::enable_if<
are_base_of<Constant, Csts...>::value,
Constant*>::type
get(llvm::StructType* T, Csts*... Vs)
template <typename... Csts>
static typename std::enable_if<
are_base_of<Constant, Csts...>::value,
Constant*>::type
get(llvm::StructType* T, Csts*... Vs)
Declared at: llvm/include/llvm/IR/Constants.h:461
Templates
- Csts
Parameters
- llvm::StructType* T
- Csts*... Vs
¶static llvm::Constant* getAnon(
ArrayRef<llvm::Constant*> V,
bool Packed = false)
static llvm::Constant* getAnon(
ArrayRef<llvm::Constant*> V,
bool Packed = false)
Description
Return an anonymous struct that has the specified elements. If the struct is possibly empty, then you must specify a context.
Declared at: llvm/include/llvm/IR/Constants.h:468
Parameters
- ArrayRef<llvm::Constant*> V
- bool Packed = false
¶static llvm::Constant* getAnon(
llvm::LLVMContext& Ctx,
ArrayRef<llvm::Constant*> V,
bool Packed = false)
static llvm::Constant* getAnon(
llvm::LLVMContext& Ctx,
ArrayRef<llvm::Constant*> V,
bool Packed = false)
Declared at: llvm/include/llvm/IR/Constants.h:471
Parameters
- llvm::LLVMContext& Ctx
- ArrayRef<llvm::Constant*> V
- bool Packed = false
¶inline llvm::StructType* getType() const
inline llvm::StructType* getType() const
Description
Specialization - reduce amount of casting.
Declared at: llvm/include/llvm/IR/Constants.h:486
¶static llvm::StructType* getTypeForElements(
ArrayRef<llvm::Constant*> V,
bool Packed = false)
static llvm::StructType* getTypeForElements(
ArrayRef<llvm::Constant*> V,
bool Packed = false)
Description
Return an anonymous struct type to use for a constant with the specified set of elements. The list must not be empty.
Declared at: llvm/include/llvm/IR/Constants.h:478
Parameters
- ArrayRef<llvm::Constant*> V
- bool Packed = false
¶static llvm::StructType* getTypeForElements(
llvm::LLVMContext& Ctx,
ArrayRef<llvm::Constant*> V,
bool Packed = false)
static llvm::StructType* getTypeForElements(
llvm::LLVMContext& Ctx,
ArrayRef<llvm::Constant*> V,
bool Packed = false)
Description
This version of the method allows an empty list.
Declared at: llvm/include/llvm/IR/Constants.h:481
Parameters
- llvm::LLVMContext& Ctx
- ArrayRef<llvm::Constant*> V
- bool Packed = false