Skip to content

Commit 3fa0e79

Browse files
committed
[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.
1 parent 365f5e2 commit 3fa0e79

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,15 @@
6060
#include "llvm/ADT/STLExtras.h"
6161
#include "llvm/ADT/SmallString.h"
6262
#include "llvm/ADT/StringExtras.h"
63+
#include "llvm/ADT/StringMap.h"
6364
#include "llvm/ADT/StringRef.h"
64-
#include "llvm/ADT/StringSet.h"
6565
#include "llvm/ADT/StringSwitch.h"
6666
#include "llvm/Support/ErrorHandling.h"
6767
#include "llvm/Support/raw_ostream.h"
6868
#include "llvm/TableGen/Error.h"
6969
#include "llvm/TableGen/Record.h"
7070
#include "llvm/TableGen/StringMatcher.h"
7171
#include "llvm/TableGen/TableGenBackend.h"
72-
#include <set>
7372

7473
using namespace llvm;
7574

@@ -667,7 +666,7 @@ static void OCL2Qual(Sema &S, const OpenCLTypeStruct &Ty,
667666
Records.getAllDerivedDefinitions("ImageType");
668667

669668
// Map an image type name to its 3 access-qualified types (RO, WO, RW).
670-
std::map<StringRef, SmallVector<Record *, 3>> ImageTypesMap;
669+
StringMap<SmallVector<Record *, 3>> ImageTypesMap;
671670
for (auto *IT : ImageTypes) {
672671
auto Entry = ImageTypesMap.find(IT->getValueAsString("Name"));
673672
if (Entry == ImageTypesMap.end()) {
@@ -685,11 +684,11 @@ static void OCL2Qual(Sema &S, const OpenCLTypeStruct &Ty,
685684
// tells which one is needed. Emit a switch statement that puts the
686685
// corresponding QualType into "QT".
687686
for (const auto &ITE : ImageTypesMap) {
688-
OS << " case OCLT_" << ITE.first.str() << ":\n"
687+
OS << " case OCLT_" << ITE.getKey() << ":\n"
689688
<< " switch (Ty.AccessQualifier) {\n"
690689
<< " case OCLAQ_None:\n"
691690
<< " llvm_unreachable(\"Image without access qualifier\");\n";
692-
for (const auto &Image : ITE.second) {
691+
for (const auto &Image : ITE.getValue()) {
693692
OS << StringSwitch<const char *>(
694693
Image->getValueAsString("AccessQualifier"))
695694
.Case("RO", " case OCLAQ_ReadOnly:\n")

0 commit comments

Comments
 (0)