[llvm] r182480 - Check that a function starts with llvm. before using GET_FUNCTION_RECOGNIZER.

Rafael Espindola rafael.espindola at gmail.com
Wed May 22 07:57:43 PDT 2013


Author: rafael
Date: Wed May 22 09:57:42 2013
New Revision: 182480

URL: http://llvm.org/viewvc/llvm-project?rev=182480&view=rev
Log:
Check that a function starts with llvm. before using GET_FUNCTION_RECOGNIZER.

Fixes a use of uninitialized memory found by asan and valgind.

Modified:
    llvm/trunk/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
    llvm/trunk/lib/Target/R600/AMDILIntrinsicInfo.cpp

Modified: llvm/trunk/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp?rev=182480&r1=182479&r2=182480&view=diff
==============================================================================
--- llvm/trunk/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp (original)
+++ llvm/trunk/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp Wed May 22 09:57:42 2013
@@ -58,9 +58,8 @@ std::string MBlazeIntrinsicInfo::getName
 
 unsigned MBlazeIntrinsicInfo::
 lookupName(const char *Name, unsigned Len) const {
-  if (Len < 5 || Name[4] != '.' || Name[0] != 'l' || Name[1] != 'l'
-      || Name[2] != 'v' || Name[3] != 'm')
-    return 0;  // All intrinsics start with 'llvm.'
+  if (!StringRef(Name, Len).startswith("llvm."))
+    return 0; // All intrinsics start with 'llvm.'
 
 #define GET_FUNCTION_RECOGNIZER
 #include "MBlazeGenIntrinsics.inc"

Modified: llvm/trunk/lib/Target/R600/AMDILIntrinsicInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDILIntrinsicInfo.cpp?rev=182480&r1=182479&r2=182480&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/AMDILIntrinsicInfo.cpp (original)
+++ llvm/trunk/lib/Target/R600/AMDILIntrinsicInfo.cpp Wed May 22 09:57:42 2013
@@ -50,6 +50,9 @@ AMDGPUIntrinsicInfo::getName(unsigned in
 
 unsigned int
 AMDGPUIntrinsicInfo::lookupName(const char *Name, unsigned int Len) const  {
+  if (!StringRef(Name, Len).startswith("llvm."))
+    return 0; // All intrinsics start with 'llvm.'
+
 #define GET_FUNCTION_RECOGNIZER
 #include "AMDGPUGenIntrinsics.inc"
 #undef GET_FUNCTION_RECOGNIZER





More information about the llvm-commits mailing list