From 0159a1ee114f86ef1307f8f598977700fd10d7fe Mon Sep 17 00:00:00 2001 From: Jay Foad Date: Mon, 11 Apr 2011 09:48:55 +0000 Subject: [PATCH] Fix or remove code which seemed to think that the operand of a Constant was always a User. llvm-svn: 129272 --- llvm/include/llvm/Constant.h | 13 ------------- llvm/lib/Bitcode/Writer/ValueEnumerator.cpp | 2 +- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/llvm/include/llvm/Constant.h b/llvm/include/llvm/Constant.h index 38045fc0c1d6..5f32ce0ac5e2 100644 --- a/llvm/include/llvm/Constant.h +++ b/llvm/include/llvm/Constant.h @@ -47,10 +47,6 @@ protected: : User(ty, vty, Ops, NumOps) {} void destroyConstantImpl(); - - void setOperand(unsigned i, Value *V) { - User::setOperand(i, V); - } public: /// isNullValue - Return true if this is the value that would be returned by /// getNullValue. @@ -90,15 +86,6 @@ public: /// FIXME: This really should not be in VMCore. PossibleRelocationsTy getRelocationInfo() const; - // Specialize get/setOperand for Users as their operands are always - // constants or BasicBlocks as well. - User *getOperand(unsigned i) { - return static_cast(User::getOperand(i)); - } - const User *getOperand(unsigned i) const { - return static_cast(User::getOperand(i)); - } - /// getVectorElements - This method, which is only valid on constant of vector /// type, returns the elements of the vector in the specified smallvector. /// This handles breaking down a vector undef into undef elements, etc. For diff --git a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp index 05078caf5fa8..54404cd03aa0 100644 --- a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp +++ b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp @@ -423,7 +423,7 @@ void ValueEnumerator::EnumerateOperandType(const Value *V) { // This constant may have operands, make sure to enumerate the types in // them. for (unsigned i = 0, e = C->getNumOperands(); i != e; ++i) { - const User *Op = C->getOperand(i); + const Value *Op = C->getOperand(i); // Don't enumerate basic blocks here, this happens as operands to // blockaddress.