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
This commit is contained in:
Chris Lattner 2009-12-31 01:32:41 +00:00
parent 5d0cacdbb6
commit 183912af79
3 changed files with 13 additions and 4 deletions

View File

@ -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)); }

View File

@ -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.

View File

@ -69,3 +69,11 @@ Value *DbgStopPointInst::getDirectory() const {
assert(LLVMDebugVersion == (7 << 16) && "Verify operand indices");
return getContext()->getOperand(4);
}
//===----------------------------------------------------------------------===//
/// DbgValueInst - This represents the llvm.dbg.value instruction.
///
Value *DbgValueInst::getValue() const {
return cast<MDNode>(getOperand(1))->getOperand(0);
}