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 | 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::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 = typedef DenseMap<const BasicBlock *, Embedding> |
using llvm::ir2vec::InstEmbeddingsMap = typedef 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) | |||
) |
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) | |||
) |
cl::opt< float > llvm::ir2vec::OpcWeight | ( | "ir2vec-opc-weight" | , |
cl::Optional | , | ||
cl::init(1.0) | , | ||
cl::desc("Weight for opcode embeddings") | , | ||
cl::cat(IR2VecCategory) | |||
) |
cl::opt< float > llvm::ir2vec::TypeWeight | ( | "ir2vec-type-weight" | , |
cl::Optional | , | ||
cl::init(0.5) | , | ||
cl::desc("Weight for type embeddings") | , | ||
cl::cat(IR2VecCategory) | |||
) |
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") |
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().