[llvm] [TableGen] Fix the non-determinism in DFAPacketizerEmitter.cpp (PR #192037)
David Stuttard via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 14 04:18:36 PDT 2026
https://github.com/dstutt created https://github.com/llvm/llvm-project/pull/192037
Sort the std::set ProcItinList by Record name, not the pointer address.
>From 81d75d7ecca21b30ce4bb31784f8cc158117d10c Mon Sep 17 00:00:00 2001
From: "Bao, Qiaojin (Fred)" <Qiaojin.Bao at amd.com>
Date: Tue, 14 Apr 2026 14:03:26 +0800
Subject: [PATCH] Fix the non-determinism in DFAPacketizerEmitter.cpp
Sort the std::set ProcItinList by Record name, not the pointer address.
---
llvm/utils/TableGen/DFAPacketizerEmitter.cpp | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/llvm/utils/TableGen/DFAPacketizerEmitter.cpp b/llvm/utils/TableGen/DFAPacketizerEmitter.cpp
index 8cb2c22736f8a..bd29f73dc484a 100644
--- a/llvm/utils/TableGen/DFAPacketizerEmitter.cpp
+++ b/llvm/utils/TableGen/DFAPacketizerEmitter.cpp
@@ -101,7 +101,13 @@ int DFAPacketizerEmitter::collectAllFuncUnits(
LLVM_DEBUG(dbgs() << "collectAllFuncUnits");
LLVM_DEBUG(dbgs() << " (" << ProcModels.size() << " itineraries)\n");
- std::set<const Record *> ProcItinList;
+ struct RecordNameLess {
+ bool operator()(const Record *LHS, const Record *RHS) const {
+ return LHS->getName() < RHS->getName();
+ }
+ };
+
+ std::set<const Record *, RecordNameLess> ProcItinList;
for (const CodeGenProcModel *Model : ProcModels)
ProcItinList.insert(Model->ItinsDef);
More information about the llvm-commits
mailing list