| 
    LLVM 22.0.0git
    
   | 
 
Class for computing the Flow-aware embeddings of IR2Vec. More...
#include "llvm/Analysis/IR2Vec.h"
Public Member Functions | |
| FlowAwareEmbedder (const Function &F, const Vocabulary &Vocab) | |
| void | invalidateEmbeddings () override | 
| Invalidate embeddings if cached.   | |
| Public Member Functions inherited from llvm::ir2vec::Embedder | |
| virtual | ~Embedder ()=default | 
| LLVM_ABI Embedding | getInstVector (const Instruction &I) const | 
| Computes and returns the embedding for a given instruction in the function F.   | |
| LLVM_ABI Embedding | getBBVector (const BasicBlock &BB) const | 
| Computes and returns the embedding for a given basic block in the function F.   | |
| LLVM_ABI Embedding | getFunctionVector () const | 
| Computes and returns the embedding for the current function.   | |
Additional Inherited Members | |
| Static Public Member Functions inherited from llvm::ir2vec::Embedder | |
| static LLVM_ABI std::unique_ptr< Embedder > | create (IR2VecKind Mode, const Function &F, const Vocabulary &Vocab) | 
| Factory method to create an Embedder object.   | |
| Protected Member Functions inherited from llvm::ir2vec::Embedder | |
| LLVM_ABI | Embedder (const Function &F, const Vocabulary &Vocab) | 
| Embedding | computeEmbeddings () const | 
| Function to compute embeddings.   | |
| Embedding | computeEmbeddings (const BasicBlock &BB) const | 
| Function to compute the embedding for a given basic block.   | |
| Protected Attributes inherited from llvm::ir2vec::Embedder | |
| const Function & | F | 
| const Vocabulary & | Vocab | 
| const unsigned | Dimension | 
| Dimension of the vector representation; captured from the input vocabulary.   | |
| const float | OpcWeight | 
| Weights for different entities (like opcode, arguments, types) in the IR instructions to generate the vector representation.   | |
| const float | TypeWeight | 
| const float | ArgWeight | 
Class for computing the Flow-aware embeddings of IR2Vec.
Flow-aware embeddings build on the vocabulary, just like Symbolic embeddings, and additionally capture the flow information in the IR.
      
  | 
  inline | 
Definition at line 604 of file IR2Vec.h.
References llvm::ir2vec::Embedder::Embedder(), llvm::ir2vec::Embedder::F, and llvm::ir2vec::Embedder::Vocab.
      
  | 
  inlineoverridevirtual | 
Invalidate embeddings if cached.
The embeddings may not be relevant anymore when the IR changes due to transformations. In such cases, the cached embeddings should be invalidated to ensure correctness/recomputation. This is a no-op for SymbolicEmbedder but removes all the cached entries in FlowAwareEmbedder.
Reimplemented from llvm::ir2vec::Embedder.