diff --git a/llvm/include/llvm/Analysis/IR2Vec.h b/llvm/include/llvm/Analysis/IR2Vec.h index 0127df7970010..3d7edf08c8807 100644 --- a/llvm/include/llvm/Analysis/IR2Vec.h +++ b/llvm/include/llvm/Analysis/IR2Vec.h @@ -162,6 +162,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); @@ -174,14 +182,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 c070433870d0b..cfe0c566e2adc 100644 --- a/llvm/lib/Analysis/IR2Vec.cpp +++ b/llvm/lib/Analysis/IR2Vec.cpp @@ -501,7 +501,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()) {