Check that a function starts with llvm. before using GET_FUNCTION_RECOGNIZER.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182480 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2013-05-22 14:57:42 +00:00
parent dbd8eb26ce
commit 431c73bc33
2 changed files with 5 additions and 3 deletions

View File

@ -58,9 +58,8 @@ std::string MBlazeIntrinsicInfo::getName(unsigned IntrID, Type **Tys,
unsigned MBlazeIntrinsicInfo:: unsigned MBlazeIntrinsicInfo::
lookupName(const char *Name, unsigned Len) const { lookupName(const char *Name, unsigned Len) const {
if (Len < 5 || Name[4] != '.' || Name[0] != 'l' || Name[1] != 'l' if (!StringRef(Name, Len).startswith("llvm."))
|| Name[2] != 'v' || Name[3] != 'm') return 0; // All intrinsics start with 'llvm.'
return 0; // All intrinsics start with 'llvm.'
#define GET_FUNCTION_RECOGNIZER #define GET_FUNCTION_RECOGNIZER
#include "MBlazeGenIntrinsics.inc" #include "MBlazeGenIntrinsics.inc"

View File

@ -50,6 +50,9 @@ AMDGPUIntrinsicInfo::getName(unsigned int IntrID, Type **Tys,
unsigned int unsigned int
AMDGPUIntrinsicInfo::lookupName(const char *Name, unsigned int Len) const { 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 #define GET_FUNCTION_RECOGNIZER
#include "AMDGPUGenIntrinsics.inc" #include "AMDGPUGenIntrinsics.inc"
#undef GET_FUNCTION_RECOGNIZER #undef GET_FUNCTION_RECOGNIZER