| 
    LLVM 22.0.0git
    
   | 
 
Classes | |
| class | Embedder | 
| Embedder provides the interface to generate embeddings (vector representations) for instructions, basic blocks, and functions.  More... | |
| struct | Embedding | 
| Embedding is a datatype that wraps std::vector<double>.  More... | |
| class | FlowAwareEmbedder | 
| Class for computing the Flow-aware embeddings of IR2Vec.  More... | |
| class | SymbolicEmbedder | 
| Class for computing the Symbolic embeddings of IR2Vec.  More... | |
| class | VocabStorage | 
| Generic storage class for section-based vocabularies.  More... | |
| class | Vocabulary | 
| Class for storing and accessing the IR2Vec vocabulary.  More... | |
Typedefs | |
| using | InstEmbeddingsMap = DenseMap<const Instruction *, Embedding> | 
| using | BBEmbeddingsMap = DenseMap<const BasicBlock *, Embedding> | 
Functions | |
| cl::OptionCategory | IR2VecCategory ("IR2Vec Options") | 
| cl::opt< float > | OpcWeight ("ir2vec-opc-weight", cl::Optional, cl::init(1.0), cl::desc("Weight for opcode embeddings"), cl::cat(IR2VecCategory)) | 
| cl::opt< float > | TypeWeight ("ir2vec-type-weight", cl::Optional, cl::init(0.5), cl::desc("Weight for type embeddings"), cl::cat(IR2VecCategory)) | 
| cl::opt< float > | ArgWeight ("ir2vec-arg-weight", cl::Optional, cl::init(0.2), cl::desc("Weight for argument embeddings"), cl::cat(IR2VecCategory)) | 
| cl::opt< IR2VecKind > | IR2VecEmbeddingKind ("ir2vec-kind", cl::Optional, cl::values(clEnumValN(IR2VecKind::Symbolic, "symbolic", "Generate symbolic embeddings"), clEnumValN(IR2VecKind::FlowAware, "flow-aware", "Generate flow-aware embeddings")), cl::init(IR2VecKind::Symbolic), cl::desc("IR2Vec embedding kind"), cl::cat(IR2VecCategory)) | 
Variables | |
| LLVM_ABI llvm::cl::OptionCategory | IR2VecCategory | 
| LLVM_ABI cl::opt< float > | OpcWeight | 
| LLVM_ABI cl::opt< float > | TypeWeight | 
| LLVM_ABI cl::opt< float > | ArgWeight | 
| LLVM_ABI cl::opt< IR2VecKind > | IR2VecEmbeddingKind | 
| static cl::opt< std::string > | VocabFile ("ir2vec-vocab-path", cl::Optional, cl::desc("Path to the vocabulary file for IR2Vec"), cl::init(""), cl::cat(IR2VecCategory)) | 
| using llvm::ir2vec::BBEmbeddingsMap = DenseMap<const BasicBlock *, Embedding> | 
| using llvm::ir2vec::InstEmbeddingsMap = DenseMap<const Instruction *, Embedding> | 
| cl::opt< float > llvm::ir2vec::ArgWeight | ( | "ir2vec-arg-weight" | , | 
| cl::Optional | , | ||
| cl::init(0.2) | , | ||
| cl::desc("Weight for argument embeddings") | , | ||
| cl::cat(IR2VecCategory) | ) | 
References llvm::cl::init(), IR2VecCategory, and llvm::cl::Optional.
| cl::OptionCategory llvm::ir2vec::IR2VecCategory | ( | "IR2Vec Options" | ) | 
| cl::opt< IR2VecKind > llvm::ir2vec::IR2VecEmbeddingKind | ( | "ir2vec-kind" | , | 
| cl::Optional | , | ||
| cl::values(clEnumValN(IR2VecKind::Symbolic, "symbolic", "Generate symbolic embeddings"), clEnumValN(IR2VecKind::FlowAware, "flow-aware", "Generate flow-aware embeddings")) | , | ||
| cl::init(IR2VecKind::Symbolic) | , | ||
| cl::desc("IR2Vec embedding kind") | , | ||
| cl::cat(IR2VecCategory) | ) | 
References llvm::FlowAware, llvm::cl::init(), IR2VecCategory, llvm::cl::Optional, llvm::Symbolic, and llvm::cl::values().
| cl::opt< float > llvm::ir2vec::OpcWeight | ( | "ir2vec-opc-weight" | , | 
| cl::Optional | , | ||
| cl::init(1.0) | , | ||
| cl::desc("Weight for opcode embeddings") | , | ||
| cl::cat(IR2VecCategory) | ) | 
References llvm::cl::init(), IR2VecCategory, and llvm::cl::Optional.
| cl::opt< float > llvm::ir2vec::TypeWeight | ( | "ir2vec-type-weight" | , | 
| cl::Optional | , | ||
| cl::init(0.5) | , | ||
| cl::desc("Weight for type embeddings") | , | ||
| cl::cat(IR2VecCategory) | ) | 
References llvm::cl::init(), IR2VecCategory, and llvm::cl::Optional.
| cl::opt< float > llvm::ir2vec::ArgWeight("ir2vec-arg-weight", cl::Optional, cl::init(0.2), cl::desc("Weight for argument embeddings"), cl::cat(IR2VecCategory)) | 
Referenced by llvm::IR2VecVocabAnalysis::run().
| cl::OptionCategory llvm::ir2vec::IR2VecCategory("IR2Vec Options") | 
Referenced by ArgWeight(), IR2VecEmbeddingKind(), OpcWeight(), and TypeWeight().
| cl::opt< IR2VecKind > llvm::ir2vec::IR2VecEmbeddingKind("ir2vec-kind", cl::Optional, cl::values(clEnumValN(IR2VecKind::Symbolic, "symbolic", "Generate symbolic embeddings"), clEnumValN(IR2VecKind::FlowAware, "flow-aware", "Generate flow-aware embeddings")), cl::init(IR2VecKind::Symbolic), cl::desc("IR2Vec embedding kind"), cl::cat(IR2VecCategory)) | 
Referenced by llvm::IR2VecPrinterPass::run().
| cl::opt< float > llvm::ir2vec::OpcWeight("ir2vec-opc-weight", cl::Optional, cl::init(1.0), cl::desc("Weight for opcode embeddings"), cl::cat(IR2VecCategory)) | 
Referenced by llvm::IR2VecVocabAnalysis::run().
| cl::opt< float > llvm::ir2vec::TypeWeight("ir2vec-type-weight", cl::Optional, cl::init(0.5), cl::desc("Weight for type embeddings"), cl::cat(IR2VecCategory)) | 
Referenced by llvm::IR2VecVocabAnalysis::run().
      
  | 
  static | 
Referenced by llvm::IR2VecVocabAnalysis::run().