LLVM API Documentation
#include "llvm/IR/Metadata.h"#include "LLVMContextImpl.h"#include "SymbolTableListTraitsImpl.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallSet.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/StringMap.h"#include "llvm/IR/ConstantRange.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/LeakDetector.h"#include "llvm/IR/Module.h"#include "llvm/IR/ValueHandle.h"
Go to the source code of this file.
Classes | |
| class | llvm::MDNodeOperand |
Namespaces | |
| namespace | llvm |
List of target independent CodeGen pass IDs. | |
Functions | |
| static MDNodeOperand * | getOperandPtr (MDNode *N, unsigned Op) |
| static const Function * | getFunctionForValue (Value *V) |
| static const Function * | assertLocalFunction (const MDNode *N) |
| static bool | isFunctionLocalValue (Value *V) |
| static bool | isContiguous (const ConstantRange &A, const ConstantRange &B) |
| static bool | canBeMerged (const ConstantRange &A, const ConstantRange &B) |
| static bool | tryMergeRange (SmallVectorImpl< Value * > &EndPoints, ConstantInt *Low, ConstantInt *High) |
| static void | addRange (SmallVectorImpl< Value * > &EndPoints, ConstantInt *Low, ConstantInt *High) |
| static SmallVector< TrackingVH < MDNode >, 4 > & | getNMDOps (void *Operands) |
| static void addRange | ( | SmallVectorImpl< Value * > & | EndPoints, |
| ConstantInt * | Low, | ||
| ConstantInt * | High | ||
| ) | [static] |
Definition at line 480 of file Metadata.cpp.
References llvm::SmallVectorBase::empty(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and tryMergeRange().
Referenced by llvm::MDNode::getMostGenericRange().
| static const Function* assertLocalFunction | ( | const MDNode * | N | ) | [static] |
Definition at line 166 of file Metadata.cpp.
References F(), getFunctionForValue(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), and llvm::MDNode::isFunctionLocal().
Referenced by llvm::MDNode::getFunction().
| static bool canBeMerged | ( | const ConstantRange & | A, |
| const ConstantRange & | B | ||
| ) | [static] |
Definition at line 459 of file Metadata.cpp.
References llvm::ConstantRange::intersectWith(), isContiguous(), and llvm::ConstantRange::isEmptySet().
Referenced by tryMergeRange().
| static const Function* getFunctionForValue | ( | Value * | V | ) | [static] |
Definition at line 150 of file Metadata.cpp.
References llvm::ARM_PROC::A, llvm::BasicBlock::getParent(), and I.
Referenced by assertLocalFunction(), and llvm::MDNode::getFunction().
| static SmallVector<TrackingVH<MDNode>, 4>& getNMDOps | ( | void * | Operands | ) | [static] |
Definition at line 561 of file Metadata.cpp.
Referenced by llvm::NamedMDNode::addOperand(), llvm::NamedMDNode::dropAllReferences(), llvm::NamedMDNode::getNumOperands(), llvm::NamedMDNode::getOperand(), and llvm::NamedMDNode::~NamedMDNode().
| static MDNodeOperand* getOperandPtr | ( | MDNode * | N, |
| unsigned | Op | ||
| ) | [static] |
getOperandPtr - Helper function to get the MDNodeOperand's coallocated on the end of the MDNode.
Definition at line 103 of file Metadata.cpp.
Referenced by llvm::MDNode::getOperand(), and llvm::MDNode::replaceOperandWith().
| static bool isContiguous | ( | const ConstantRange & | A, |
| const ConstantRange & | B | ||
| ) | [static] |
Definition at line 455 of file Metadata.cpp.
References llvm::ConstantRange::getLower(), and llvm::ConstantRange::getUpper().
Referenced by canBeMerged().
| static bool isFunctionLocalValue | ( | Value * | V | ) | [static] |
isFunctionLocalValue - Return true if this is a value that would require a function-local MDNode.
Definition at line 214 of file Metadata.cpp.
| static bool tryMergeRange | ( | SmallVectorImpl< Value * > & | EndPoints, |
| ConstantInt * | Low, | ||
| ConstantInt * | High | ||
| ) | [static] |
Definition at line 463 of file Metadata.cpp.
References canBeMerged(), llvm::ConstantInt::get(), llvm::ConstantRange::getLower(), llvm::ConstantInt::getType(), llvm::ConstantRange::getUpper(), llvm::ConstantInt::getValue(), llvm::AArch64CC::LE, llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::ConstantRange::unionWith().
Referenced by addRange(), and llvm::MDNode::getMostGenericRange().