[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