[llvm] [llvm-exegesis] Add did-you-mean hint for unknown opcodes (PR #203463)
Quanye Yang via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 12 20:56:35 PDT 2026
================
@@ -156,11 +158,44 @@ struct YamlContext {
return InstrName;
}
+ std::optional<StringRef> findNearestOpcodeName(StringRef InstrName) const {
+ unsigned BestDistance = 2;
+ StringRef Nearest;
+
+ for (const auto &Entry : OpcodeNameToOpcodeIdx) {
+ StringRef Candidate = Entry.getFirst();
+
+ size_t CandidateSize = Candidate.size();
+ size_t InstrSize = InstrName.size();
+ size_t AbsDiff = CandidateSize > InstrSize ? CandidateSize - InstrSize
----------------
quanyeyang wrote:
In `llvm/lib/Option/OptTable.cpp`, `OptTable::internalFindNearest()`, the codes are like:
```cpp
size_t CandidateSize = CandidatePrefix.size() + CandidateName.size(),
NormalizedSize = NormalizedName.size();
size_t AbsDiff = CandidateSize > NormalizedSize
? CandidateSize - NormalizedSize
: NormalizedSize - CandidateSize;
```
or we can change the codes like?
```cpp
size_t AbsDiff = std::abs(static_cast<ptrdiff_t>(CandidateSize) -
static_cast<ptrdiff_t>(InstrSize));
```
https://github.com/llvm/llvm-project/pull/203463
More information about the llvm-commits
mailing list