Move Function::lookupIntrinsicID to a static method. NFC
authorPete Cooper <peter_cooper@apple.com>
Tue, 19 May 2015 00:02:25 +0000 (00:02 +0000)
committerPete Cooper <peter_cooper@apple.com>
Tue, 19 May 2015 00:02:25 +0000 (00:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237641 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/Function.h
lib/IR/Function.cpp

index 33602a3a8c194d2e3867f446e9dd68c2fed30072..c084895fedf714ca94ecdb59b68bab8b87b373d7 100644 (file)
@@ -109,10 +109,6 @@ private:
   Function(const Function&) = delete;
   void operator=(const Function&) = delete;
 
-  /// Do the actual lookup of an intrinsic ID when the query could not be
-  /// answered from the cache.
-  unsigned lookupIntrinsicID() const LLVM_READONLY;
-
   /// Function ctor - If the (optional) Module argument is specified, the
   /// function is automatically inserted into the end of the function list for
   /// the module.
index a5d4d1c4b1e15c5ba4e7636010fb965b4a483835..71e07ea04cb081ee03cea4f68d26e918cf70e7a6 100644 (file)
@@ -433,6 +433,19 @@ void Function::copyAttributesFrom(const GlobalValue *Src) {
     setPrologueData(nullptr);
 }
 
+/// \brief This does the actual lookup of an intrinsic ID which
+/// matches the given function name.
+static Intrinsic::ID lookupIntrinsicID(const ValueName *ValName) {
+  unsigned Len = ValName->getKeyLength();
+  const char *Name = ValName->getKeyData();
+
+#define GET_FUNCTION_RECOGNIZER
+#include "llvm/IR/Intrinsics.gen"
+#undef GET_FUNCTION_RECOGNIZER
+
+  return Intrinsic::not_intrinsic;
+}
+
 /// getIntrinsicID - This method returns the ID number of the specified
 /// function, or Intrinsic::not_intrinsic if the function is not an
 /// intrinsic, or if the pointer is null.  This value is always defined to be
@@ -449,27 +462,13 @@ unsigned Function::getIntrinsicID() const {
   LLVMContextImpl::IntrinsicIDCacheTy &IntrinsicIDCache =
     getContext().pImpl->IntrinsicIDCache;
   if (!IntrinsicIDCache.count(this)) {
-    unsigned Id = lookupIntrinsicID();
+    unsigned Id = lookupIntrinsicID(ValName);
     IntrinsicIDCache[this]=Id;
     return Id;
   }
   return IntrinsicIDCache[this];
 }
 
-/// This private method does the actual lookup of an intrinsic ID when the query
-/// could not be answered from the cache.
-unsigned Function::lookupIntrinsicID() const {
-  const ValueName *ValName = this->getValueName();
-  unsigned Len = ValName->getKeyLength();
-  const char *Name = ValName->getKeyData();
-
-#define GET_FUNCTION_RECOGNIZER
-#include "llvm/IR/Intrinsics.gen"
-#undef GET_FUNCTION_RECOGNIZER
-
-  return 0;
-}
-
 /// Returns a stable mangling for the type specified for use in the name
 /// mangling scheme used by 'any' types in intrinsic signatures.  The mangling
 /// of named types is simply their name.  Manglings for unnamed types consist