diff options
author | Chris Lattner <sabre@nondot.org> | 2009-12-31 01:32:41 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-12-31 01:32:41 +0000 |
commit | 183912af7947e7c48da64d94b6fe78ebb09cc7ec (patch) | |
tree | 80dc31f61216f1ed0539fac2de63f09f456e42e2 /include | |
parent | 5d0cacdbb6577f2449986f345858db17dc1bcf59 (diff) |
Remove #include of metadata.h from intrinsicinst.h. The only
method that needs it (DbgValueInst::getValue) has been moved out
of line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92323 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/IntrinsicInst.h | 5 | ||||
-rw-r--r-- | include/llvm/Value.h | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/include/llvm/IntrinsicInst.h b/include/llvm/IntrinsicInst.h index 9893e1f878..3c18de1067 100644 --- a/include/llvm/IntrinsicInst.h +++ b/include/llvm/IntrinsicInst.h @@ -25,7 +25,6 @@ #define LLVM_INTRINSICINST_H #include "llvm/Constants.h" -#include "llvm/Metadata.h" #include "llvm/Function.h" #include "llvm/Instructions.h" #include "llvm/Intrinsics.h" @@ -175,9 +174,7 @@ namespace llvm { /// DbgValueInst - This represents the llvm.dbg.value instruction. /// struct DbgValueInst : public DbgInfoIntrinsic { - Value *getValue() const { - return cast<MDNode>(getOperand(1))->getOperand(0); - } + Value *getValue() const; Value *getOffset() const { return getOperand(2); } MDNode *getVariable() const { return cast<MDNode>(getOperand(3)); } diff --git a/include/llvm/Value.h b/include/llvm/Value.h index 4d94a30191..f0bd8bea1e 100644 --- a/include/llvm/Value.h +++ b/include/llvm/Value.h @@ -42,6 +42,7 @@ class AssemblyAnnotationWriter; class ValueHandleBase; class LLVMContext; class Twine; +class MDNode; //===----------------------------------------------------------------------===// // Value Class @@ -350,6 +351,9 @@ template <> inline bool isa_impl<GlobalValue, Value>(const Value &Val) { return isa<GlobalVariable>(Val) || isa<Function>(Val) || isa<GlobalAlias>(Val); } +template <> inline bool isa_impl<MDNode, Value>(const Value &Val) { + return Val.getValueID() == Value::MDNodeVal; +} // Value* is only 4-byte aligned. |