|
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.