aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Use.h7
-rw-r--r--include/llvm/User.h7
2 files changed, 10 insertions, 4 deletions
diff --git a/include/llvm/Use.h b/include/llvm/Use.h
index e817601f80..c88d41f700 100644
--- a/include/llvm/Use.h
+++ b/include/llvm/Use.h
@@ -141,11 +141,10 @@ public:
Use &getUse() const { return *U; }
- /// getOperandNo - Return the operand # of this use in its User.
+ /// getOperandNo - Return the operand # of this use in its User. Defined in
+ /// User.h
///
- unsigned getOperandNo() const {
- return U - U->getUser()->op_begin();
- }
+ unsigned getOperandNo() const;
};
diff --git a/include/llvm/User.h b/include/llvm/User.h
index b38c516d14..b0ecf75d86 100644
--- a/include/llvm/User.h
+++ b/include/llvm/User.h
@@ -112,6 +112,13 @@ template<> struct simplify_type<User::const_op_iterator> {
template<> struct simplify_type<const User::const_op_iterator>
: public simplify_type<User::const_op_iterator> {};
+
+// value_use_iterator::getOperandNo - Requires the definition of the User class.
+template<typename UserTy>
+unsigned value_use_iterator<UserTy>::getOperandNo() const {
+ return U - U->getUser()->op_begin();
+}
+
} // End llvm namespace
#endif