[llvm-branch-commits] [llvm] [NFC][IR2Vec] Exposing helpers in IR2Vec Vocabulary (PR #147841)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jul 9 15:49:13 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlgo
Author: S. VenkataKeerthy (svkeerthy)
<details>
<summary>Changes</summary>
Minor refactoring IR2Vec vocabulary. This would help in upcoming PRs related to the IR2Vec tool.
(Tracking issue - #<!-- -->141817)
---
Full diff: https://github.com/llvm/llvm-project/pull/147841.diff
2 Files Affected:
- (modified) llvm/include/llvm/Analysis/IR2Vec.h (+8-8)
- (modified) llvm/lib/Analysis/IR2Vec.cpp (+2-1)
``````````diff
diff --git a/llvm/include/llvm/Analysis/IR2Vec.h b/llvm/include/llvm/Analysis/IR2Vec.h
index 176cdaf7b5378..4209cf8d476b9 100644
--- a/llvm/include/llvm/Analysis/IR2Vec.h
+++ b/llvm/include/llvm/Analysis/IR2Vec.h
@@ -163,6 +163,14 @@ class Vocabulary {
static constexpr unsigned MaxOperandKinds =
static_cast<unsigned>(OperandKind::MaxOperandKind);
+public:
+ Vocabulary() = default;
+ Vocabulary(VocabVector &&Vocab);
+
+ bool isValid() const;
+ unsigned getDimension() const;
+ size_t size() const;
+
/// Helper function to get vocabulary key for a given Opcode
static StringRef getVocabKeyForOpcode(unsigned Opcode);
@@ -175,14 +183,6 @@ class Vocabulary {
/// Helper function to classify an operand into OperandKind
static OperandKind getOperandKind(const Value *Op);
-public:
- Vocabulary() = default;
- Vocabulary(VocabVector &&Vocab);
-
- bool isValid() const;
- unsigned getDimension() const;
- size_t size() const;
-
/// Accessors to get the embedding for a given entity.
const ir2vec::Embedding &operator[](unsigned Opcode) const;
const ir2vec::Embedding &operator[](Type::TypeID TypeId) const;
diff --git a/llvm/lib/Analysis/IR2Vec.cpp b/llvm/lib/Analysis/IR2Vec.cpp
index f97644b93a3d4..d1eb709012a57 100644
--- a/llvm/lib/Analysis/IR2Vec.cpp
+++ b/llvm/lib/Analysis/IR2Vec.cpp
@@ -518,7 +518,8 @@ IR2VecVocabAnalysis::run(Module &M, ModuleAnalysisManager &AM) {
// Otherwise, try to read from the vocabulary file.
if (VocabFile.empty()) {
// FIXME: Use default vocabulary
- Ctx->emitError("IR2Vec vocabulary file path not specified");
+ Ctx->emitError("IR2Vec vocabulary file path not specified; You may need to "
+ "set it using --ir2vec-vocab-path");
return Vocabulary(); // Return invalid result
}
if (auto Err = readVocabulary()) {
``````````
</details>
https://github.com/llvm/llvm-project/pull/147841
More information about the llvm-branch-commits
mailing list