LLVM API Documentation

Namespaces | Functions
ValueTracking.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Support/DataTypes.h"
Include dependency graph for ValueTracking.h:

Go to the source code of this file.

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


Functions

void llvm::computeKnownBits (Value *V, APInt &KnownZero, APInt &KnownOne, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
void llvm::computeKnownBitsFromRangeMetadata (const MDNode &Ranges, APInt &KnownZero)
void llvm::ComputeSignBit (Value *V, bool &KnownZero, bool &KnownOne, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
bool llvm::isKnownToBeAPowerOfTwo (Value *V, bool OrZero=false, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
bool llvm::isKnownNonZero (Value *V, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
bool llvm::MaskedValueIsZero (Value *V, const APInt &Mask, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
unsigned llvm::ComputeNumSignBits (Value *Op, const DataLayout *TD=nullptr, unsigned Depth=0, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr, const DominatorTree *DT=nullptr)
bool llvm::ComputeMultiple (Value *V, unsigned Base, Value *&Multiple, bool LookThroughSExt=false, unsigned Depth=0)
bool llvm::CannotBeNegativeZero (const Value *V, unsigned Depth=0)
Valuellvm::isBytewiseValue (Value *V)
Valuellvm::FindInsertedValue (Value *V, ArrayRef< unsigned > idx_range, Instruction *InsertBefore=nullptr)
Valuellvm::GetPointerBaseWithConstantOffset (Value *Ptr, int64_t &Offset, const DataLayout *TD)
static const Value * llvm::GetPointerBaseWithConstantOffset (const Value *Ptr, int64_t &Offset, const DataLayout *TD)
bool llvm::getConstantStringInfo (const Value *V, StringRef &Str, uint64_t Offset=0, bool TrimAtNul=true)
uint64_t llvm::GetStringLength (Value *V)
Valuellvm::GetUnderlyingObject (Value *V, const DataLayout *TD=nullptr, unsigned MaxLookup=6)
static const Value * llvm::GetUnderlyingObject (const Value *V, const DataLayout *TD=nullptr, unsigned MaxLookup=6)
void llvm::GetUnderlyingObjects (Value *V, SmallVectorImpl< Value * > &Objects, const DataLayout *TD=nullptr, unsigned MaxLookup=6)
bool llvm::onlyUsedByLifetimeMarkers (const Value *V)
bool llvm::isSafeToSpeculativelyExecute (const Value *V, const DataLayout *TD=nullptr)
bool llvm::isKnownNonNull (const Value *V, const TargetLibraryInfo *TLI=nullptr)
bool llvm::isValidAssumeForContext (const Instruction *I, const Instruction *CxtI, const DataLayout *DL=nullptr, const DominatorTree *DT=nullptr)