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(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()) {