LLVM API Documentation
#include <Constants.h>


Public Member Functions | |
| virtual void | destroyConstant () |
| Constant * | getSequentialElement () const |
| Constant * | getStructElement (unsigned Elt) const |
| Constant * | getElementValue (Constant *C) const |
| Constant * | getElementValue (unsigned Idx) const |
Public Member Functions inherited from llvm::Constant | |
| bool | isNullValue () const |
| bool | isAllOnesValue () const |
| bool | isNegativeZeroValue () const |
| bool | isZeroValue () const |
| Return true if the value is negative zero or null value. More... | |
| bool | canTrap () const |
| bool | isThreadDependent () const |
| isThreadDependent - Return true if the value can vary between threads. More... | |
| bool | isConstantUsed () const |
| PossibleRelocationsTy | getRelocationInfo () const |
| Constant * | getAggregateElement (unsigned Elt) const |
| Constant * | getAggregateElement (Constant *Elt) const |
| Constant * | getSplatValue () const |
| const APInt & | getUniqueInteger () const |
| virtual void | replaceUsesOfWithOnConstant (Value *, Value *, Use *) |
| void | removeDeadConstantUsers () const |
Public Member Functions inherited from llvm::User | |
| ~User () | |
| void | operator delete (void *Usr) |
| operator delete - free memory allocated for User and Use objects More... | |
| void | operator delete (void *, unsigned) |
| placement delete - required by std, but never called. More... | |
| void | operator delete (void *, unsigned, bool) |
| placement delete - required by std, but never called. More... | |
| Value * | getOperand (unsigned i) const |
| void | setOperand (unsigned i, Value *Val) |
| const Use & | getOperandUse (unsigned i) const |
| Use & | getOperandUse (unsigned i) |
| unsigned | getNumOperands () const |
| op_iterator | op_begin () |
| const_op_iterator | op_begin () const |
| op_iterator | op_end () |
| const_op_iterator | op_end () const |
| value_op_iterator | value_op_begin () |
| value_op_iterator | value_op_end () |
| void | dropAllReferences () |
| void | replaceUsesOfWith (Value *From, Value *To) |
Public Member Functions inherited from llvm::Value | |
| virtual | ~Value () |
| void | dump () const |
| dump - Support for debugging, callable in GDB: V->dump() More... | |
| void | print (raw_ostream &O, AssemblyAnnotationWriter *AAW=0) const |
| Type * | getType () const |
| 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 |
| void | setName (const Twine &Name) |
| void | takeName (Value *V) |
| void | replaceAllUsesWith (Value *V) |
| bool | use_empty () const |
| use_iterator | use_begin () |
| const_use_iterator | use_begin () const |
| use_iterator | use_end () |
| const_use_iterator | use_end () const |
| User * | use_back () |
| const User * | use_back () const |
| bool | hasOneUse () const |
| bool | hasNUses (unsigned N) const |
| bool | hasNUsesOrMore (unsigned N) const |
| bool | isUsedInBasicBlock (const BasicBlock *BB) const |
| unsigned | getNumUses () const |
| void | addUse (Use &U) |
| unsigned | getValueID () const |
| unsigned | getRawSubclassOptionalData () const |
| void | clearSubclassOptionalData () |
| bool | hasSameSubclassOptionalData (const Value *V) const |
| void | intersectOptionalDataWith (const Value *V) |
| bool | hasValueHandle () const |
| Value * | stripPointerCasts () |
| Strips off any unneeded pointer casts, all-zero GEPs and aliases from the specified value, returning the original uncasted value. More... | |
| const Value * | stripPointerCasts () const |
| Value * | stripPointerCastsNoFollowAliases () |
| Strips off any unneeded pointer casts and all-zero GEPs from the specified value, returning the original uncasted value. More... | |
| const Value * | stripPointerCastsNoFollowAliases () const |
| Value * | stripInBoundsConstantOffsets () |
| Strips off unneeded pointer casts and all-constant GEPs from the specified value, returning the original pointer value. More... | |
| const Value * | stripInBoundsConstantOffsets () const |
| Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) |
Strips like stripInBoundsConstantOffsets but also accumulates the constant offset stripped. More... | |
| const Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) const |
| Value * | stripInBoundsOffsets () |
| Strips off unneeded pointer casts and any in-bounds offsets from the specified value, returning the original pointer value. More... | |
| const Value * | stripInBoundsOffsets () const |
| bool | isDereferenceablePointer () const |
| Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) |
| const Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) const |
| void | mutateType (Type *Ty) |
Static Public Member Functions | |
| static ConstantAggregateZero * | get (Type *Ty) |
| static bool | classof (const Value *V) |
Static Public Member Functions inherited from llvm::Constant | |
| static bool | classof (const Value *V) |
| static Constant * | getNullValue (Type *Ty) |
| static Constant * | getAllOnesValue (Type *Ty) |
| Get the all ones value. More... | |
| static Constant * | getIntegerValue (Type *Ty, const APInt &V) |
Static Public Member Functions inherited from llvm::User | |
| static bool | classof (const Value *V) |
Protected Member Functions | |
| ConstantAggregateZero (Type *ty) | |
| void * | operator new (size_t s) |
Protected Member Functions inherited from llvm::Constant | |
| Constant (Type *ty, ValueTy vty, Use *Ops, unsigned NumOps) | |
| void | destroyConstantImpl () |
Protected Member Functions inherited from llvm::User | |
| void * | operator new (size_t s, unsigned Us) |
| User (Type *ty, unsigned vty, Use *OpList, unsigned NumOps) | |
| Use * | allocHungoffUses (unsigned) const |
| void | dropHungoffUses () |
| template<int Idx> | |
| Use & | Op () |
| template<int Idx> | |
| const Use & | Op () const |
Protected Member Functions inherited from llvm::Value | |
| virtual void | printCustom (raw_ostream &O) const |
| Value (Type *Ty, unsigned scid) | |
| unsigned short | getSubclassDataFromValue () const |
| void | setValueSubclassData (unsigned short D) |
ConstantAggregateZero - All zero aggregate value
Definition at line 297 of file Constants.h.
|
inlineexplicitprotected |
Definition at line 301 of file Constants.h.
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 331 of file Constants.h.
References llvm::Value::ConstantAggregateZeroVal, and llvm::Value::getValueID().
|
virtual |
destroyConstant - Remove the constant from the constant table.
Reimplemented from llvm::Constant.
Definition at line 1244 of file Constants.cpp.
References llvm::LLVMContextImpl::CAZConstants, llvm::Constant::destroyConstantImpl(), llvm::Value::getContext(), llvm::Value::getType(), and llvm::LLVMContext::pImpl.
|
static |
Definition at line 1231 of file Constants.cpp.
References llvm::LLVMContextImpl::CAZConstants, llvm::Type::getContext(), llvm::Type::isArrayTy(), llvm::Type::isStructTy(), llvm::Type::isVectorTy(), and llvm::LLVMContext::pImpl.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateVectorSplat(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::ConstantDataSequential::getImpl(), llvm::Constant::getNullValue(), llvm::MapValue(), llvm::ConstantArray::replaceUsesOfWithOnConstant(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), and llvm::InstCombiner::visitCallInst().
getElementValue - Return a zero of the right value for the specified GEP index.
getElementValue - Return a zero 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 672 of file Constants.cpp.
References getSequentialElement(), getStructElement(), and llvm::Value::getType().
getElementValue - Return a zero of the right value for the specified GEP index.
Definition at line 680 of file Constants.cpp.
References getSequentialElement(), getStructElement(), and llvm::Value::getType().
| Constant * ConstantAggregateZero::getSequentialElement | ( | ) | const |
getSequentialElement - If this CAZ has array or vector type, return a zero with the right element type.
Definition at line 660 of file Constants.cpp.
References llvm::Constant::getNullValue(), and llvm::Value::getType().
Referenced by getElementValue().
getStructElement - If this CAZ has struct type, return a zero with the right element type for the specified element.
Definition at line 666 of file Constants.cpp.
References llvm::Constant::getNullValue(), and llvm::Value::getType().
Referenced by getElementValue().
|
inlineprotected |
Definition at line 305 of file Constants.h.