Author: Aaron Puchert Date: 2025-07-14T00:10:15+02:00 New Revision: bfb686bb5ba503e9386dc899e1ebbe2488e6a0a8
URL: https://github.com/llvm/llvm-project/commit/bfb686bb5ba503e9386dc899e1ebbe2488e6a0a8 DIFF: https://github.com/llvm/llvm-project/commit/bfb686bb5ba503e9386dc899e1ebbe2488e6a0a8.diff LOG: Thread Safety Analysis: Move opcode comparison to Comparator (NFC) The switch assumes that both operands have the same opcode, so it's probably cleaner if we do the comparison there. This also deduplicates the comparison. Added: Modified: clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h Removed: ################################################################################ diff --git a/clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h b/clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h index 6fc55130655a2..acab8bcdc1dab 100644 --- a/clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h +++ b/clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h @@ -312,7 +312,9 @@ class Comparator { Self *self() { return reinterpret_cast<Self *>(this); } public: - bool compareByCase(const SExpr *E1, const SExpr* E2) { + bool compare(const SExpr *E1, const SExpr *E2) { + if (E1->opcode() != E2->opcode()) + return false; switch (E1->opcode()) { #define TIL_OPCODE_DEF(X) \ case COP_##X: \ @@ -338,12 +340,6 @@ class EqualsComparator : public Comparator<EqualsComparator> { bool compareStrings (StringRef s, StringRef r) { return s == r; } bool comparePointers(const void* P, const void* Q) { return P == Q; } - bool compare(const SExpr *E1, const SExpr* E2) { - if (E1->opcode() != E2->opcode()) - return false; - return compareByCase(E1, E2); - } - // TODO -- handle alpha-renaming of variables void enterScope(const Variable *V1, const Variable *V2) {} void leaveScope() {} @@ -377,9 +373,7 @@ class MatchComparator : public Comparator<MatchComparator> { if (E1->opcode() == COP_Wildcard || E2->opcode() == COP_Wildcard) return true; // otherwise normal equality. - if (E1->opcode() != E2->opcode()) - return false; - return compareByCase(E1, E2); + return Comparator::compare(E1, E2); } // TODO -- handle alpha-renaming of variables _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits