summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMehdi Amini <mehdi.amini@apple.com>2016-10-10 19:31:09 +0000
committerMehdi Amini <mehdi.amini@apple.com>2016-10-10 19:31:09 +0000
commitf9ff04c56a07ba23056da636f55ecff32900ed64 (patch)
tree08d2f969c7056fb1a6c2c77e5b318e4cdae55293
parent730f24048c8d9a1b94f814cd3cb166a9f555cc28 (diff)
downloadbcm5719-llvm-f9ff04c56a07ba23056da636f55ecff32900ed64.tar.gz
bcm5719-llvm-f9ff04c56a07ba23056da636f55ecff32900ed64.zip
Use StringRef in TableGen generated Intrinsics.gen file (NFC)
llvm-svn: 283792
-rw-r--r--llvm/include/llvm/IR/Intrinsics.h4
-rw-r--r--llvm/utils/TableGen/IntrinsicEmitter.cpp12
2 files changed, 7 insertions, 9 deletions
diff --git a/llvm/include/llvm/IR/Intrinsics.h b/llvm/include/llvm/IR/Intrinsics.h
index 66894cd4cea..0ad792ed760 100644
--- a/llvm/include/llvm/IR/Intrinsics.h
+++ b/llvm/include/llvm/IR/Intrinsics.h
@@ -88,10 +88,10 @@ namespace Intrinsic {
StringRef Name);
/// Map a GCC builtin name to an intrinsic ID.
- ID getIntrinsicForGCCBuiltin(const char *Prefix, const char *BuiltinName);
+ ID getIntrinsicForGCCBuiltin(const char *Prefix, StringRef BuiltinName);
/// Map a MS builtin name to an intrinsic ID.
- ID getIntrinsicForMSBuiltin(const char *Prefix, const char *BuiltinName);
+ ID getIntrinsicForMSBuiltin(const char *Prefix, StringRef BuiltinName);
/// This is a type descriptor which explains the type requirements of an
/// intrinsic. This is returned by getIntrinsicInfoTableEntries.
diff --git a/llvm/utils/TableGen/IntrinsicEmitter.cpp b/llvm/utils/TableGen/IntrinsicEmitter.cpp
index 8eff650a848..709cd9f3fe9 100644
--- a/llvm/utils/TableGen/IntrinsicEmitter.cpp
+++ b/llvm/utils/TableGen/IntrinsicEmitter.cpp
@@ -714,11 +714,11 @@ void IntrinsicEmitter::EmitIntrinsicToBuiltinMap(
if (TargetOnly) {
OS << "static " << TargetPrefix << "Intrinsic::ID "
<< "getIntrinsicFor" << CompilerName << "Builtin(const char "
- << "*TargetPrefixStr, const char *BuiltinNameStr) {\n";
+ << "*TargetPrefixStr, StringRef BuiltinNameStr) {\n";
} else {
OS << "Intrinsic::ID Intrinsic::getIntrinsicFor" << CompilerName
<< "Builtin(const char "
- << "*TargetPrefixStr, const char *BuiltinNameStr) {\n";
+ << "*TargetPrefixStr, StringRef BuiltinNameStr) {\n";
}
OS << " static const char BuiltinNames[] = {\n";
Table.EmitCharArray(OS);
@@ -730,13 +730,11 @@ void IntrinsicEmitter::EmitIntrinsicToBuiltinMap(
OS << " const char *getName() const {\n";
OS << " return &BuiltinNames[StrTabOffset];\n";
OS << " }\n";
- OS << " bool operator<(const char *RHS) const {\n";
- OS << " return strcmp(getName(), RHS) < 0;\n";
+ OS << " bool operator<(StringRef RHS) const {\n";
+ OS << " return strncmp(getName(), RHS.data(), RHS.size()) < 0;\n";
OS << " }\n";
OS << " };\n";
-
- OS << " StringRef BuiltinName(BuiltinNameStr);\n";
OS << " StringRef TargetPrefix(TargetPrefixStr);\n\n";
// Note: this could emit significantly better code if we cared.
@@ -759,7 +757,7 @@ void IntrinsicEmitter::EmitIntrinsicToBuiltinMap(
OS << " std::end(" << I->first << "Names),\n";
OS << " BuiltinNameStr);\n";
OS << " if (I != std::end(" << I->first << "Names) &&\n";
- OS << " strcmp(I->getName(), BuiltinNameStr) == 0)\n";
+ OS << " I->getName() == BuiltinNameStr)\n";
OS << " return I->IntrinID;\n";
OS << " }\n";
}
OpenPOWER on IntegriCloud