diff --git a/llvm/include/llvm/Analysis/IR2Vec.h b/llvm/include/llvm/Analysis/IR2Vec.h index b7b881999241e..3671c1c71ac0b 100644 --- a/llvm/include/llvm/Analysis/IR2Vec.h +++ b/llvm/include/llvm/Analysis/IR2Vec.h @@ -164,7 +164,6 @@ class Vocabulary { friend class llvm::IR2VecVocabAnalysis; using VocabVector = std::vector; VocabVector Vocab; - bool Valid = false; public: // Slot layout: @@ -210,9 +209,9 @@ class Vocabulary { static_cast(OperandKind::MaxOperandKind); Vocabulary() = default; - LLVM_ABI Vocabulary(VocabVector &&Vocab); + LLVM_ABI Vocabulary(VocabVector &&Vocab) : Vocab(std::move(Vocab)) {} - LLVM_ABI bool isValid() const; + LLVM_ABI bool isValid() const { return Vocab.size() == NumCanonicalEntries; }; LLVM_ABI unsigned getDimension() const; /// Total number of entries (opcodes + canonicalized types + operand kinds) static constexpr size_t getCanonicalSize() { return NumCanonicalEntries; } @@ -243,22 +242,22 @@ class Vocabulary { /// Const Iterator type aliases using const_iterator = VocabVector::const_iterator; const_iterator begin() const { - assert(Valid && "IR2Vec Vocabulary is invalid"); + assert(isValid() && "IR2Vec Vocabulary is invalid"); return Vocab.begin(); } const_iterator cbegin() const { - assert(Valid && "IR2Vec Vocabulary is invalid"); + assert(isValid() && "IR2Vec Vocabulary is invalid"); return Vocab.cbegin(); } const_iterator end() const { - assert(Valid && "IR2Vec Vocabulary is invalid"); + assert(isValid() && "IR2Vec Vocabulary is invalid"); return Vocab.end(); } const_iterator cend() const { - assert(Valid && "IR2Vec Vocabulary is invalid"); + assert(isValid() && "IR2Vec Vocabulary is invalid"); return Vocab.cend(); } diff --git a/llvm/lib/Analysis/IR2Vec.cpp b/llvm/lib/Analysis/IR2Vec.cpp index 98849fd922843..99afc0601d523 100644 --- a/llvm/lib/Analysis/IR2Vec.cpp +++ b/llvm/lib/Analysis/IR2Vec.cpp @@ -260,15 +260,8 @@ void FlowAwareEmbedder::computeEmbeddings(const BasicBlock &BB) const { // Vocabulary //===----------------------------------------------------------------------===// -Vocabulary::Vocabulary(VocabVector &&Vocab) - : Vocab(std::move(Vocab)), Valid(true) {} - -bool Vocabulary::isValid() const { - return Vocab.size() == NumCanonicalEntries && Valid; -} - unsigned Vocabulary::getDimension() const { - assert(Valid && "IR2Vec Vocabulary is invalid"); + assert(isValid() && "IR2Vec Vocabulary is invalid"); return Vocab[0].size(); }