From aec33da793ac4c78499f4a22aed001756e0d7103 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 22 Jan 2010 06:25:37 +0000 Subject: [PATCH] add an out-of-line virtual method to CmpInst to give it a home. llvm-svn: 94161 --- llvm/include/llvm/InstrTypes.h | 4 ++-- llvm/lib/VMCore/Instructions.cpp | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/llvm/include/llvm/InstrTypes.h b/llvm/include/llvm/InstrTypes.h index 85aaa7f0592a..b5cc65962e83 100644 --- a/llvm/include/llvm/InstrTypes.h +++ b/llvm/include/llvm/InstrTypes.h @@ -652,8 +652,7 @@ public: /// This class is the base class for the comparison instructions. /// @brief Abstract base class of comparison instructions. -// FIXME: why not derive from BinaryOperator? -class CmpInst: public Instruction { +class CmpInst : public Instruction { void *operator new(size_t, unsigned); // DO NOT IMPLEMENT CmpInst(); // do not implement protected: @@ -665,6 +664,7 @@ protected: Value *LHS, Value *RHS, const Twine &Name, BasicBlock *InsertAtEnd); + virtual void Anchor() const; // Out of line virtual method. public: /// This enumeration lists the possible predicates for CmpInst subclasses. /// Values in the range 0-31 are reserved for FCmpInst, while values in the diff --git a/llvm/lib/VMCore/Instructions.cpp b/llvm/lib/VMCore/Instructions.cpp index 2619047cb306..8ff36cb6fbdb 100644 --- a/llvm/lib/VMCore/Instructions.cpp +++ b/llvm/lib/VMCore/Instructions.cpp @@ -2714,6 +2714,8 @@ BitCastInst::BitCastInst( // CmpInst Classes //===----------------------------------------------------------------------===// +void CmpInst::Anchor() const {} + CmpInst::CmpInst(const Type *ty, OtherOps op, unsigned short predicate, Value *LHS, Value *RHS, const Twine &Name, Instruction *InsertBefore)