summaryrefslogtreecommitdiff
path: root/include/llvm/IR/Metadata.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/IR/Metadata.h')
-rw-r--r--include/llvm/IR/Metadata.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/llvm/IR/Metadata.h b/include/llvm/IR/Metadata.h
index 8c2cfac235d2d..9659c2e05c382 100644
--- a/include/llvm/IR/Metadata.h
+++ b/include/llvm/IR/Metadata.h
@@ -22,15 +22,16 @@
#include "llvm/IR/Value.h"
namespace llvm {
-class Constant;
-class Instruction;
class LLVMContext;
class Module;
-template <typename T> class SmallVectorImpl;
template<typename ValueSubClass, typename ItemParentClass>
class SymbolTableListTraits;
+enum LLVMConstants LLVM_ENUM_INT_TYPE(uint32_t) {
+ DEBUG_METADATA_VERSION = 1 // Current debug info version number.
+};
+
//===----------------------------------------------------------------------===//
/// MDString - a single uniqued string.
/// These are used to efficiently contain a byte sequence for metadata.
@@ -139,7 +140,7 @@ public:
void replaceOperandWith(unsigned i, Value *NewVal);
/// getOperand - Return specified operand.
- Value *getOperand(unsigned i) const;
+ Value *getOperand(unsigned i) const LLVM_READONLY;
/// getNumOperands - Return number of MDNode operands.
unsigned getNumOperands() const { return NumOperands; }
@@ -164,6 +165,9 @@ public:
return V->getValueID() == MDNodeVal;
}
+ /// Check whether MDNode is a vtable access.
+ bool isTBAAVtableAccess() const;
+
/// Methods for metadata merging.
static MDNode *getMostGenericTBAA(MDNode *A, MDNode *B);
static MDNode *getMostGenericFPMath(MDNode *A, MDNode *B);