[clang] 3fa0e79 - [OpenCL] Use StringMap instead of std::map
Sven van Haastregt via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 2 01:38:37 PST 2021
Author: Sven van Haastregt
Date: 2021-03-02T09:37:26Z
New Revision: 3fa0e793729a4caca2f35ebe7c0b25a2615b8e8f
URL: https://github.com/llvm/llvm-project/commit/3fa0e793729a4caca2f35ebe7c0b25a2615b8e8f
DIFF: https://github.com/llvm/llvm-project/commit/3fa0e793729a4caca2f35ebe7c0b25a2615b8e8f.diff
LOG: [OpenCL] Use StringMap instead of std::map
As the LLVM Programmer's Manual suggests, use a StringMap instead of
an std::map with a StringRef key.
Added:
Modified:
clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
Removed:
################################################################################
diff --git a/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp b/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
index 2288e2711e6a..3e8c90a00753 100644
--- a/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
+++ b/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
@@ -60,8 +60,8 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
+#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
-#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
@@ -69,7 +69,6 @@
#include "llvm/TableGen/Record.h"
#include "llvm/TableGen/StringMatcher.h"
#include "llvm/TableGen/TableGenBackend.h"
-#include <set>
using namespace llvm;
@@ -667,7 +666,7 @@ static void OCL2Qual(Sema &S, const OpenCLTypeStruct &Ty,
Records.getAllDerivedDefinitions("ImageType");
// Map an image type name to its 3 access-qualified types (RO, WO, RW).
- std::map<StringRef, SmallVector<Record *, 3>> ImageTypesMap;
+ StringMap<SmallVector<Record *, 3>> ImageTypesMap;
for (auto *IT : ImageTypes) {
auto Entry = ImageTypesMap.find(IT->getValueAsString("Name"));
if (Entry == ImageTypesMap.end()) {
@@ -685,11 +684,11 @@ static void OCL2Qual(Sema &S, const OpenCLTypeStruct &Ty,
// tells which one is needed. Emit a switch statement that puts the
// corresponding QualType into "QT".
for (const auto &ITE : ImageTypesMap) {
- OS << " case OCLT_" << ITE.first.str() << ":\n"
+ OS << " case OCLT_" << ITE.getKey() << ":\n"
<< " switch (Ty.AccessQualifier) {\n"
<< " case OCLAQ_None:\n"
<< " llvm_unreachable(\"Image without access qualifier\");\n";
- for (const auto &Image : ITE.second) {
+ for (const auto &Image : ITE.getValue()) {
OS << StringSwitch<const char *>(
Image->getValueAsString("AccessQualifier"))
.Case("RO", " case OCLAQ_ReadOnly:\n")
More information about the cfe-commits
mailing list