60
60
#include " llvm/ADT/STLExtras.h"
61
61
#include " llvm/ADT/SmallString.h"
62
62
#include " llvm/ADT/StringExtras.h"
63
+ #include " llvm/ADT/StringMap.h"
63
64
#include " llvm/ADT/StringRef.h"
64
- #include " llvm/ADT/StringSet.h"
65
65
#include " llvm/ADT/StringSwitch.h"
66
66
#include " llvm/Support/ErrorHandling.h"
67
67
#include " llvm/Support/raw_ostream.h"
68
68
#include " llvm/TableGen/Error.h"
69
69
#include " llvm/TableGen/Record.h"
70
70
#include " llvm/TableGen/StringMatcher.h"
71
71
#include " llvm/TableGen/TableGenBackend.h"
72
- #include < set>
73
72
74
73
using namespace llvm ;
75
74
@@ -667,7 +666,7 @@ static void OCL2Qual(Sema &S, const OpenCLTypeStruct &Ty,
667
666
Records.getAllDerivedDefinitions (" ImageType" );
668
667
669
668
// 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;
671
670
for (auto *IT : ImageTypes) {
672
671
auto Entry = ImageTypesMap.find (IT->getValueAsString (" Name" ));
673
672
if (Entry == ImageTypesMap.end ()) {
@@ -685,11 +684,11 @@ static void OCL2Qual(Sema &S, const OpenCLTypeStruct &Ty,
685
684
// tells which one is needed. Emit a switch statement that puts the
686
685
// corresponding QualType into "QT".
687
686
for (const auto &ITE : ImageTypesMap) {
688
- OS << " case OCLT_" << ITE.first . str () << " :\n "
687
+ OS << " case OCLT_" << ITE.getKey () << " :\n "
689
688
<< " switch (Ty.AccessQualifier) {\n "
690
689
<< " case OCLAQ_None:\n "
691
690
<< " llvm_unreachable(\" Image without access qualifier\" );\n " ;
692
- for (const auto &Image : ITE.second ) {
691
+ for (const auto &Image : ITE.getValue () ) {
693
692
OS << StringSwitch<const char *>(
694
693
Image->getValueAsString (" AccessQualifier" ))
695
694
.Case (" RO" , " case OCLAQ_ReadOnly:\n " )
0 commit comments