From 3fa0e793729a4caca2f35ebe7c0b25a2615b8e8f Mon Sep 17 00:00:00 2001 From: Sven van Haastregt Date: Tue, 2 Mar 2021 09:37:26 +0000 Subject: [PATCH] [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. --- clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp b/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp index 2288e27..3e8c90a 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 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> ImageTypesMap; + StringMap> 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( Image->getValueAsString("AccessQualifier")) .Case("RO", " case OCLAQ_ReadOnly:\n") -- 2.7.4