[llvm] 96c1201 - [nfc][ir2vec] Remove `Valid` field (#157132)

via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 7 11:26:27 PDT 2025


Author: Mircea Trofin
Date: 2025-09-07T11:26:23-07:00
New Revision: 96c1201504e5eb30ed4e09709120b5740f437953

URL: https://github.com/llvm/llvm-project/commit/96c1201504e5eb30ed4e09709120b5740f437953
DIFF: https://github.com/llvm/llvm-project/commit/96c1201504e5eb30ed4e09709120b5740f437953.diff

LOG: [nfc][ir2vec] Remove `Valid` field (#157132)

It is tied to the vocab having had been set. Checking that vector's
`emtpy` is sufficient. Less state to track (for a maintainer)

Added: 
    

Modified: 
    llvm/include/llvm/Analysis/IR2Vec.h
    llvm/lib/Analysis/IR2Vec.cpp

Removed: 
    


################################################################################
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<ir2vec::Embedding>;
   VocabVector Vocab;
-  bool Valid = false;
 
 public:
   // Slot layout:
@@ -210,9 +209,9 @@ class Vocabulary {
       static_cast<unsigned>(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();
 }
 


        


More information about the llvm-commits mailing list