diff --git a/include/llvm/Support/ValueHolder.h b/include/llvm/Support/ValueHolder.h index 33fda2c3414..aacdb5b75e5 100644 --- a/include/llvm/Support/ValueHolder.h +++ b/include/llvm/Support/ValueHolder.h @@ -15,6 +15,7 @@ struct ValueHolder : public User { ValueHolder(Value *V = 0); + ValueHolder(const ValueHolder &VH) : User(VH.getType(), Value::TypeVal) {} // Getters... const Value *get() const { return getOperand(0); } @@ -28,6 +29,11 @@ struct ValueHolder : public User { return *this; } + const ValueHolder &operator=(ValueHolder &VH) { + setOperand(0, VH); + return *this; + } + virtual void print(std::ostream& OS) const { OS << "ValueHolder"; }