Refactor isIntrinsic() to be quicker, and change classof() (and thus, isa<IntrinsicIn...
[oota-llvm.git] / lib / VMCore / Function.cpp
index cd3b663ac8d39bb74bc772b0a52f29ba83dd24f5..5ff088e7f5697979ea1e71d4761209f42eacbcd1 100644 (file)
@@ -326,15 +326,11 @@ void Function::copyAttributesFrom(const GlobalValue *Src) {
 ///
 unsigned Function::getIntrinsicID() const {
   const ValueName *ValName = this->getValueName();
-  if (!ValName)
+  if (!ValName || !isIntrinsic())
     return 0;
   unsigned Len = ValName->getKeyLength();
   const char *Name = ValName->getKeyData();
 
-  if (Len < 5 || Name[4] != '.' || Name[0] != 'l' || Name[1] != 'l'
-      || Name[2] != 'v' || Name[3] != 'm')
-    return 0;  // All intrinsics start with 'llvm.'
-
 #define GET_FUNCTION_RECOGNIZER
 #include "llvm/Intrinsics.gen"
 #undef GET_FUNCTION_RECOGNIZER