[IR] Move definitions of users of Use::set to Value.h
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 29 Jan 2016 12:47:05 +0000 (12:47 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 29 Jan 2016 12:47:05 +0000 (12:47 +0000)
Still ugly, but at least Use.h is self-contained again.

llvm-svn: 259191

llvm/include/llvm/IR/Use.h
llvm/include/llvm/IR/Value.h

index a738677..dc65d2c 100644 (file)
@@ -101,14 +101,8 @@ public:
 
   inline void set(Value *Val);
 
-  Value *operator=(Value *RHS) {
-    set(RHS);
-    return RHS;
-  }
-  const Use &operator=(const Use &RHS) {
-    set(RHS.Val);
-    return *this;
-  }
+  inline Value *operator=(Value *RHS);
+  inline const Use &operator=(const Use &RHS);
 
   Value *operator->() { return Val; }
   const Value *operator->() const { return Val; }
index 1e08a4a..348ad97 100644 (file)
@@ -602,6 +602,16 @@ void Use::set(Value *V) {
   if (V) V->addUse(*this);
 }
 
+Value *Use::operator=(Value *RHS) {
+  set(RHS);
+  return RHS;
+}
+
+const Use &Use::operator=(const Use &RHS) {
+  set(RHS.Val);
+  return *this;
+}
+
 template <class Compare> void Value::sortUseList(Compare Cmp) {
   if (!UseList || !UseList->Next)
     // No need to sort 0 or 1 uses.