LLVM
8.0.1
|
'undef' values are things that do not have specified contents. More...
#include "llvm/IR/Constants.h"
Public Member Functions | |
UndefValue (const UndefValue &)=delete | |
UndefValue * | getSequentialElement () const |
If this Undef has array or vector type, return a undef with the right element type. More... | |
UndefValue * | getStructElement (unsigned Elt) const |
If this undef has struct type, return a undef with the right element type for the specified element. More... | |
UndefValue * | getElementValue (Constant *C) const |
Return an undef of the right value for the specified GEP index if we can, otherwise return null (e.g. More... | |
UndefValue * | getElementValue (unsigned Idx) const |
Return an undef of the right value for the specified GEP index. More... | |
unsigned | getNumElements () const |
Return the number of elements in the array, vector, or struct. More... | |
Public Member Functions inherited from llvm::ConstantData | |
ConstantData (const ConstantData &)=delete | |
Public Member Functions inherited from llvm::Constant | |
void | operator= (const Constant &)=delete |
Constant (const Constant &)=delete | |
bool | isNullValue () const |
Return true if this is the value that would be returned by getNullValue. More... | |
bool | isOneValue () const |
Returns true if the value is one. More... | |
bool | isAllOnesValue () const |
Return true if this is the value that would be returned by getAllOnesValue. More... | |
bool | isNegativeZeroValue () const |
Return true if the value is what would be returned by getZeroValueForNegation. More... | |
bool | isZeroValue () const |
Return true if the value is negative zero or null value. More... | |
bool | isNotMinSignedValue () const |
Return true if the value is not the smallest signed value. More... | |
bool | isMinSignedValue () const |
Return true if the value is the smallest signed value. More... | |
bool | isFiniteNonZeroFP () const |
Return true if this is a finite and non-zero floating-point scalar constant or a vector constant with all finite and non-zero elements. More... | |
bool | isNormalFP () const |
Return true if this is a normal (as opposed to denormal) floating-point scalar constant or a vector constant with all normal elements. More... | |
bool | hasExactInverseFP () const |
Return true if this scalar has an exact multiplicative inverse or this vector has an exact multiplicative inverse for each element in the vector. More... | |
bool | isNaN () const |
Return true if this is a floating-point NaN constant or a vector floating-point constant with all NaN elements. More... | |
bool | containsUndefElement () const |
Return true if this is a vector constant that includes any undefined elements. More... | |
bool | canTrap () const |
Return true if evaluation of this constant could trap. More... | |
bool | isThreadDependent () const |
Return true if the value can vary between threads. More... | |
bool | isDLLImportDependent () const |
Return true if the value is dependent on a dllimport variable. More... | |
bool | isConstantUsed () const |
Return true if the constant has users other than constant expressions and other dangling things. More... | |
bool | needsRelocation () const |
This method classifies the entry according to whether or not it may generate a relocation entry. More... | |
Constant * | getAggregateElement (unsigned Elt) const |
For aggregates (struct/array/vector) return the constant that corresponds to the specified element if possible, or null if not. More... | |
Constant * | getAggregateElement (Constant *Elt) const |
Constant * | getSplatValue () const |
If this is a splat vector constant, meaning that all of the elements have the same value, return that value. More... | |
const APInt & | getUniqueInteger () const |
If C is a constant integer then return its value, otherwise C must be a vector of constant integers, all equal, and the common value is returned. More... | |
void | destroyConstant () |
Called if some element of this constant is no longer valid. More... | |
void | handleOperandChange (Value *, Value *) |
This method is a special form of User::replaceUsesOfWith (which does not work on constants) that does work on constants. More... | |
void | removeDeadConstantUsers () const |
If there are any dead constant users dangling off of this constant, remove them. More... | |
const Constant * | stripPointerCasts () const |
Constant * | stripPointerCasts () |
Public Member Functions inherited from llvm::User | |
User (const User &)=delete | |
void | operator delete (void *Usr) |
Free memory allocated for User and Use objects. More... | |
void | operator delete (void *Usr, unsigned) |
Placement delete - required by std, called if the ctor throws. More... | |
void | operator delete (void *Usr, unsigned, bool) |
Placement delete - required by std, called if the ctor throws. More... | |
const Use * | getOperandList () const |
Use * | getOperandList () |
Value * | getOperand (unsigned i) const |
void | setOperand (unsigned i, Value *Val) |
const Use & | getOperandUse (unsigned i) const |
Use & | getOperandUse (unsigned i) |
unsigned | getNumOperands () const |
ArrayRef< const uint8_t > | getDescriptor () const |
Returns the descriptor co-allocated with this User instance. More... | |
MutableArrayRef< uint8_t > | getDescriptor () |
Returns the descriptor co-allocated with this User instance. More... | |
void | setGlobalVariableNumOperands (unsigned NumOps) |
Set the number of operands on a GlobalVariable. More... | |
void | setNumHungOffUseOperands (unsigned NumOps) |
Subclasses with hung off uses need to manage the operand count themselves. More... | |
op_iterator | op_begin () |
const_op_iterator | op_begin () const |
op_iterator | op_end () |
const_op_iterator | op_end () const |
op_range | operands () |
const_op_range | operands () const |
value_op_iterator | value_op_begin () |
value_op_iterator | value_op_end () |
iterator_range< value_op_iterator > | operand_values () |
const_value_op_iterator | value_op_begin () const |
const_value_op_iterator | value_op_end () const |
iterator_range< const_value_op_iterator > | operand_values () const |
void | dropAllReferences () |
Drop all references to operands. More... | |
void | replaceUsesOfWith (Value *From, Value *To) |
Replace uses of one Value with another. More... | |
Public Member Functions inherited from llvm::Value | |
Value (const Value &)=delete | |
Value & | operator= (const Value &)=delete |
void | deleteValue () |
Delete a pointer to a generic Value. More... | |
void | dump () const |
Support for debugging, callable in GDB: V->dump() More... | |
Type * | getType () const |
All values are typed, get the type of this value. More... | |
LLVMContext & | getContext () const |
All values hold a context through their type. More... | |
bool | hasName () const |
ValueName * | getValueName () const |
void | setValueName (ValueName *VN) |
StringRef | getName () const |
Return a constant reference to the value's name. More... | |
void | setName (const Twine &Name) |
Change the name of the value. More... | |
void | takeName (Value *V) |
Transfer the name from V to this value. More... | |
void | replaceAllUsesWith (Value *V) |
Change all uses of this to point to a new Value. More... | |
void | replaceNonMetadataUsesWith (Value *V) |
Change non-metadata uses of this to point to a new Value. More... | |
void | replaceUsesOutsideBlock (Value *V, BasicBlock *BB) |
replaceUsesOutsideBlock - Go through the uses list for this definition and make each use point to "V" instead of "this" when the use is outside the block. More... | |
void | assertModuleIsMaterializedImpl () const |
void | assertModuleIsMaterialized () const |
bool | use_empty () const |
bool | materialized_use_empty () const |
use_iterator | materialized_use_begin () |
const_use_iterator | materialized_use_begin () const |
use_iterator | use_begin () |
const_use_iterator | use_begin () const |
use_iterator | use_end () |
const_use_iterator | use_end () const |
iterator_range< use_iterator > | materialized_uses () |
iterator_range< const_use_iterator > | materialized_uses () const |
iterator_range< use_iterator > | uses () |
iterator_range< const_use_iterator > | uses () const |
bool | user_empty () const |
user_iterator | materialized_user_begin () |
const_user_iterator | materialized_user_begin () const |
user_iterator | user_begin () |
const_user_iterator | user_begin () const |
user_iterator | user_end () |
const_user_iterator | user_end () const |
User * | user_back () |
const User * | user_back () const |
iterator_range< user_iterator > | materialized_users () |
iterator_range< const_user_iterator > | materialized_users () const |
iterator_range< user_iterator > | users () |
iterator_range< const_user_iterator > | users () const |
bool | hasOneUse () const |
Return true if there is exactly one user of this value. More... | |
bool | hasNUses (unsigned N) const |
Return true if this Value has exactly N users. More... | |
bool | hasNUsesOrMore (unsigned N) const |
Return true if this value has N users or more. More... | |
bool | isUsedInBasicBlock (const BasicBlock *BB) const |
Check if this value is used in the specified basic block. More... | |
unsigned | getNumUses () const |
This method computes the number of uses of this Value. More... | |
void | addUse (Use &U) |
This method should only be used by the Use class. More... | |
unsigned | getValueID () const |
Return an ID for the concrete type of this object. More... | |
unsigned | getRawSubclassOptionalData () const |
Return the raw optional flags value contained in this value. More... | |
void | clearSubclassOptionalData () |
Clear the optional flags contained in this value. More... | |
bool | hasSameSubclassOptionalData (const Value *V) const |
Check the optional flags for equality. More... | |
bool | hasValueHandle () const |
Return true if there is a value handle associated with this value. More... | |
bool | isUsedByMetadata () const |
Return true if there is metadata referencing this value. More... | |
bool | isSwiftError () const |
Return true if this value is a swifterror value. More... | |
const Value * | stripPointerCasts () const |
Strip off pointer casts, all-zero GEPs, and aliases. More... | |
Value * | stripPointerCasts () |
const Value * | stripPointerCastsAndInvariantGroups () const |
Strip off pointer casts, all-zero GEPs, aliases and invariant group info. More... | |
Value * | stripPointerCastsAndInvariantGroups () |
const Value * | stripPointerCastsNoFollowAliases () const |
Strip off pointer casts and all-zero GEPs. More... | |
Value * | stripPointerCastsNoFollowAliases () |
const Value * | stripInBoundsConstantOffsets () const |
Strip off pointer casts and all-constant inbounds GEPs. More... | |
Value * | stripInBoundsConstantOffsets () |
const Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) const |
Accumulate offsets from stripInBoundsConstantOffsets(). More... | |
Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) |
const Value * | stripInBoundsOffsets () const |
Strip off pointer casts and inbounds GEPs. More... | |
Value * | stripInBoundsOffsets () |
uint64_t | getPointerDereferenceableBytes (const DataLayout &DL, bool &CanBeNull) const |
Returns the number of bytes known to be dereferenceable for the pointer value. More... | |
unsigned | getPointerAlignment (const DataLayout &DL) const |
Returns an alignment of the pointer value. More... | |
const Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) const |
Translate PHI node to its predecessor from the given basic block. More... | |
Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) |
void | mutateType (Type *Ty) |
Mutate the type of this Value to be of the specified type. More... | |
template<class Compare > | |
void | sortUseList (Compare Cmp) |
Sort the use-list. More... | |
void | reverseUseList () |
Reverse the use-list. More... | |
void | print (raw_ostream &O, bool IsForDebug=false) const |
Implement operator<< on Value. More... | |
void | print (raw_ostream &O, ModuleSlotTracker &MST, bool IsForDebug=false) const |
void | printAsOperand (raw_ostream &O, bool PrintType=true, const Module *M=nullptr) const |
Print the name of this Value out to the specified raw_ostream. More... | |
void | printAsOperand (raw_ostream &O, bool PrintType, ModuleSlotTracker &MST) const |
Static Public Member Functions | |
static UndefValue * | get (Type *T) |
Static factory methods - Return an 'undef' object of the specified type. More... | |
static bool | classof (const Value *V) |
Methods for support type inquiry through isa, cast, and dyn_cast: More... | |
Static Public Member Functions inherited from llvm::ConstantData | |
static bool | classof (const Value *V) |
Methods to support type inquiry through isa, cast, and dyn_cast. More... | |
Static Public Member Functions inherited from llvm::Constant | |
static bool | classof (const Value *V) |
static Constant * | getNullValue (Type *Ty) |
Constructor to create a '0' constant of arbitrary type. More... | |
static Constant * | getAllOnesValue (Type *Ty) |
static Constant * | getIntegerValue (Type *Ty, const APInt &V) |
Return the value for an integer or pointer constant, or a vector thereof, with the given scalar value. More... | |
Static Public Member Functions inherited from llvm::User | |
static bool | classof (const Value *V) |
Friends | |
class | Constant |
Additional Inherited Members | |
Public Types inherited from llvm::User | |
using | op_iterator = Use * |
using | const_op_iterator = const Use * |
using | op_range = iterator_range< op_iterator > |
using | const_op_range = iterator_range< const_op_iterator > |
Public Types inherited from llvm::Value | |
enum | ValueTy |
Concrete subclass of this. More... | |
using | use_iterator = use_iterator_impl< Use > |
using | const_use_iterator = use_iterator_impl< const Use > |
using | user_iterator = user_iterator_impl< User > |
using | const_user_iterator = user_iterator_impl< const User > |
Static Public Attributes inherited from llvm::Value | |
static const unsigned | MaxAlignmentExponent = 29 |
The maximum alignment for instructions. More... | |
static const unsigned | MaximumAlignment = 1u << MaxAlignmentExponent |
Protected Types inherited from llvm::Value | |
enum | : unsigned { NumUserOperandsBits = 28 } |
The number of operands in the subclass. More... | |
Protected Member Functions inherited from llvm::ConstantData | |
ConstantData (Type *Ty, ValueTy VT) | |
void * | operator new (size_t s) |
Protected Member Functions inherited from llvm::Constant | |
Constant (Type *ty, ValueTy vty, Use *Ops, unsigned NumOps) | |
Protected Member Functions inherited from llvm::User | |
void * | operator new (size_t Size) |
Allocate a User with an operand pointer co-allocated. More... | |
void * | operator new (size_t Size, unsigned Us) |
Allocate a User with the operands co-allocated. More... | |
void * | operator new (size_t Size, unsigned Us, unsigned DescBytes) |
Allocate a User with the operands co-allocated. More... | |
User (Type *ty, unsigned vty, Use *, unsigned NumOps) | |
void | allocHungoffUses (unsigned N, bool IsPhi=false) |
Allocate the array of Uses, followed by a pointer (with bottom bit set) to the User. More... | |
void | growHungoffUses (unsigned N, bool IsPhi=false) |
Grow the number of hung off uses. More... | |
~User ()=default | |
template<int Idx> | |
Use & | Op () |
template<int Idx> | |
const Use & | Op () const |
Protected Member Functions inherited from llvm::Value | |
Value (Type *Ty, unsigned scid) | |
~Value () | |
Value's destructor should be virtual by design, but that would require that Value and all of its subclasses have a vtable that effectively duplicates the information in the value ID. More... | |
unsigned short | getSubclassDataFromValue () const |
void | setValueSubclassData (unsigned short D) |
Static Protected Member Functions inherited from llvm::User | |
template<int Idx, typename U > | |
static Use & | OpFrom (const U *that) |
Protected Attributes inherited from llvm::Value | |
unsigned char | SubclassOptionalData: 7 |
Hold subclass data that can be dropped. More... | |
unsigned | NumUserOperands: NumUserOperandsBits |
unsigned | IsUsedByMD: 1 |
unsigned | HasName: 1 |
unsigned | HasHungOffUses: 1 |
unsigned | HasDescriptor: 1 |
'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.
Definition at line 1286 of file Constants.h.
|
delete |
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 1318 of file Constants.h.
References llvm::Value::getValueID().
|
static |
Static factory methods - Return an 'undef' object of the specified type.
Definition at line 1415 of file Constants.cpp.
References llvm::Type::getContext(), llvm::Value::getContext(), llvm::Value::getType(), llvm::LLVMContext::pImpl, and llvm::LLVMContextImpl::UVConstants.
Referenced by alwaysAvailable(), llvm::fuzzerop::anyPtrType(), llvm::coro::Shape::buildFrom(), BuildSubAggregate(), llvm::DomTreeUpdater::callbackDeleteBB(), llvm::canConstantFoldCallTo(), llvm::changeToUnreachable(), llvm::CloneAndPruneIntoFromInst(), collectShuffleElements(), collectSingleShuffleElements(), concatenateTwoVectors(), concatSubVector(), ConnectEpilog(), ConnectProlog(), ConstantAddressBlock(), llvm::ConstantFoldBinaryInstruction(), llvm::ConstantFoldCastInstruction(), llvm::ConstantFoldCompareInstruction(), llvm::ConstantFoldExtractElementInstruction(), llvm::ConstantFoldGetElementPtr(), llvm::ConstantFoldInsertElementInstruction(), llvm::ConstantFoldInstruction(), llvm::ConstantFoldLoadFromConstPtr(), llvm::ConstantFoldLoadThroughBitcast(), llvm::ConstantFoldShuffleVectorInstruction(), llvm::ConvertDebugDeclareToDebugValue(), ConvertShiftToMul(), ConvertToSInt(), llvm::IRBuilder< TargetFolder >::CreateAggregateRet(), createCast(), createClone(), llvm::createDeadArgHackingPass(), llvm::IRBuilderBase::CreateMaskedGather(), llvm::IRBuilderBase::CreateMaskedLoad(), llvm::createObjCARCOptPass(), createOrdering(), llvm::InstCombiner::CreateOverflowTuple(), createRdxShuffleMask(), llvm::createScalarizerPass(), llvm::createSimpleTargetReduction(), llvm::IRBuilder< TargetFolder >::CreateVectorSplat(), CreateWrapper(), DeleteBasicBlock(), llvm::DeleteDeadBlocks(), deleteDeadInstruction(), llvm::deleteDeadLoop(), deleteLoopIfDead(), doPromotion(), llvm::GVNExpression::Expression::dump(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), ensureValueAvailableInSuccessor(), llvm::Evaluator::EvaluateBlock(), evaluateInDifferentElementOrder(), llvm::VPReplicateRecipe::execute(), llvm::VPPredInstPHIRecipe::execute(), ExpandBVWithShuffles(), extractVector(), findBasePointer(), findInitTrampoline(), llvm::RandomIRBuilder::findPointer(), llvm::findScalarElement(), findUser(), llvm::InnerLoopVectorizer::fixFirstOrderRecurrence(), foldConstantInsEltIntoShuffle(), foldICmpWithMinMax(), foldInsSequenceIntoBroadcast(), llvm::FoldSingleEntryPHINodes(), foldVectorCmp(), FunctionNumber(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), getChainID(), llvm::ValueLatticeElement::getCompare(), llvm::ExecutionEngine::getConstantValue(), getLogBase2(), getMulHu(), getNarrowIntrinsic(), getOnlyLiveSuccessor(), llvm::AArch64TTIImpl::getOrCreateResultFromMemIntrinsic(), llvm::InnerLoopVectorizer::getOrCreateVectorValue(), getRetComponentType(), GetRMWLibcall(), getScalarIntrinsicDeclaration(), getSequentialElement(), llvm::getShuffleReduction(), getSignature(), getStartOrEndSlot(), getStructElement(), llvm::SSAUpdaterTraits< SSAUpdater >::GetUndefVal(), getUnderlyingObjects(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), group2Shuffle(), llvm::Constant::handleOperandChange(), llvm::PHINode::hasConstantValue(), llvm::SSAUpdaterBulk::HasValueForBlock(), haveEfficientBuildVectorPattern(), INITIALIZE_PASS(), llvm::InlineFunction(), insertVector(), inversePermutation(), llvm::isBytewiseValue(), isCallPromotable(), isPromotedInstructionLegal(), llvm::SITargetLowering::isTypeDesirableForOp(), isZero(), LinearizeExprTree(), LLVMGetUndef(), LowerAtomicCmpXchgInst(), LowerBUILD_VECTORAsVariablePermute(), llvm::SITargetLowering::LowerCall(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::AMDGPUCallLowering::lowerReturn(), llvm::fuzzerop::makeConstantsWithType(), MarkBlocksLiveIn(), llvm::gvn::AvailableValue::MaterializeAdjustedValue(), llvm::MergeBasicBlockIntoOnlyPred(), mergeCleanupPad(), narrowVectorSelect(), llvm::RandomIRBuilder::newSink(), okayForPHIOfOps(), operandWithNewAddressSpaceOrCreateUndef(), operator<<(), OptimizeGlobalAddressOfMalloc(), optimizeVectorResize(), patchAndReplaceAllUsesWith(), performMaskedAtomicOp(), llvm::JumpThreadingPass::ProcessBranchOnXOR(), processOverflowIntrinsic(), processSelect(), promoteSingleBlockAlloca(), PropagateConstantReturn(), PropagateConstantsIntoArguments(), readWideAPInt(), llvm::RecursivelyDeleteDeadPHINode(), llvm::removeAllNonTerminatorAndEHPadInstructions(), removeBitcastsFromLoadStoreOnMinMax(), llvm::PHINode::removeIncomingValue(), llvm::BasicBlock::removePredecessor(), reorderSubVector(), llvm::replaceDbgUsesWithUndef(), replaceExtractElements(), llvm::InstCombiner::replaceInstUsesWith(), llvm::R600TargetLowering::ReplaceNodeResults(), ReplaceUsesOfWith(), reportLoadElim(), reportMayClobberedLoad(), llvm::returnTypeIsEligibleForTailCall(), llvm::InnerLoopVectorizer::reverseVector(), rewriteSingleStoreAlloca(), RewriteUsesOfClonedInstructions(), llvm::LoadAndStorePromoter::run(), llvm::WholeProgramDevirtPass::run(), llvm::runIPSCCP(), shouldFixMainFunction(), shouldKeepFDivF32(), shouldMergeGEPs(), shouldReorderOperands(), ShrinkDemandedConstant(), shrinkInsertElt(), shrinkSplatShuffle(), simplifyBinaryIntrinsic(), SimplifyCall(), simplifyDivRem(), SimplifyExtractElementInst(), SimplifyGEPInst(), llvm::SimplifyInsertElementInst(), llvm::SimplifyInstruction(), simplifyIntrinsic(), llvm::JumpThreadingPass::SimplifyPartiallyRedundantLoad(), SimplifyPHINode(), SimplifyShift(), SimplifyShuffleVectorInst(), SimplifySubInst(), simplifyX86extrq(), simplifyX86pack(), simplifyX86pshufb(), simplifyX86varShift(), simplifyX86vpermilvar(), simplifyX86vpermv(), sink(), llvm::fuzzerop::sizedPtrType(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), llvm::fuzzerop::SourcePred::SourcePred(), llvm::fuzzerop::splitBlockDescriptor(), llvm::SplitBlockPredecessors(), splitGlobal(), stripNonValidDataFromBody(), tryToReplaceWithConstant(), unifyReturnBlockSet(), unpackLoadToAggregate(), validShuffleVectorIndex(), llvm::InnerLoopVectorizer::vectorizeInterleaveGroup(), llvm::InnerLoopVectorizer::vectorizeMemoryInstruction(), llvm::slpvectorizer::BoUpSLP::vectorizeTree(), llvm::sroa::AllocaSliceRewriter::visit(), llvm::InstCombiner::visitAllocSite(), llvm::InstCombiner::visitBitCast(), llvm::InstCombiner::visitCallInst(), llvm::InstCombiner::visitExtractElementInst(), llvm::InstCombiner::visitExtractValueInst(), llvm::InstCombiner::visitFree(), llvm::InstCombiner::visitInsertElementInst(), llvm::InstCombiner::visitLoadInst(), llvm::ObjectSizeOffsetEvaluator::visitPHINode(), llvm::InstCombiner::visitPHINode(), llvm::InstCombiner::visitShuffleVectorInst(), and llvm::InstCombiner::visitStoreInst().
UndefValue * UndefValue::getElementValue | ( | Constant * | C | ) | const |
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).
Definition at line 878 of file Constants.cpp.
References llvm::Value::getType().
UndefValue * UndefValue::getElementValue | ( | unsigned | Idx | ) | const |
Return an undef of the right value for the specified GEP index.
Definition at line 884 of file Constants.cpp.
References llvm::Value::getType().
unsigned UndefValue::getNumElements | ( | ) | const |
Return the number of elements in the array, vector, or struct.
Definition at line 890 of file Constants.cpp.
References llvm::Type::getStructNumElements(), llvm::Value::getType(), and llvm::ARM_MB::ST.
UndefValue * UndefValue::getSequentialElement | ( | ) | const |
If this Undef has array or vector type, return a undef with the right element type.
Definition at line 870 of file Constants.cpp.
References get(), and llvm::Value::getType().
UndefValue * UndefValue::getStructElement | ( | unsigned | Elt | ) | const |
If this undef has struct type, return a undef with the right element type for the specified element.
Definition at line 874 of file Constants.cpp.
References get(), and llvm::Value::getType().
|
friend |
Definition at line 1287 of file Constants.h.