ikudrin created this revision. ikudrin added reviewers: arphaman, aaron.ballman, rsmith. Herald added a subscriber: mgrang. ikudrin requested review of this revision. Herald added a project: clang.
`llvm::MapVector`, compared to `std::map`, guarantees the same iteration order in different runs. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D113168 Files: clang/utils/TableGen/ClangAttrEmitter.cpp Index: clang/utils/TableGen/ClangAttrEmitter.cpp =================================================================== --- clang/utils/TableGen/ClangAttrEmitter.cpp +++ clang/utils/TableGen/ClangAttrEmitter.cpp @@ -16,6 +16,7 @@ #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DenseSet.h" +#include "llvm/ADT/MapVector.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringExtras.h" @@ -2043,7 +2044,7 @@ OS << " return None;\n"; OS << "}\n\n"; - std::map<const Record *, std::vector<AttributeSubjectMatchRule>> + llvm::MapVector<const Record *, std::vector<AttributeSubjectMatchRule>> SubMatchRules; for (const auto &Rule : Rules) { if (!Rule.isSubRule())
Index: clang/utils/TableGen/ClangAttrEmitter.cpp =================================================================== --- clang/utils/TableGen/ClangAttrEmitter.cpp +++ clang/utils/TableGen/ClangAttrEmitter.cpp @@ -16,6 +16,7 @@ #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DenseSet.h" +#include "llvm/ADT/MapVector.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringExtras.h" @@ -2043,7 +2044,7 @@ OS << " return None;\n"; OS << "}\n\n"; - std::map<const Record *, std::vector<AttributeSubjectMatchRule>> + llvm::MapVector<const Record *, std::vector<AttributeSubjectMatchRule>> SubMatchRules; for (const auto &Rule : Rules) { if (!Rule.isSubRule())
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits