LLVM: lib/Analysis/IR2Vec.cpp File Reference (original) (raw)
This file implements the IR2Vec algorithm. More...
Go to the source code of this file.
| Namespaces |
|
| namespace |
llvm |
|
This is an optimization pass for GlobalISel generic memory operations. |
| namespace |
llvm::ir2vec |
| namespace |
llvm::json |
| Functions |
|
|
STATISTIC (VocabMissCounter, "Number of lookups to entities not present in the vocabulary") |
| cl::OptionCategory |
llvm::ir2vec::IR2VecCategory ("IR2Vec Options") |
| 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)) |
| 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)) |
| bool |
llvm::json::fromJSON (const llvm::json::Value &E, Embedding &Out, llvm::json::Path P) |
Detailed Description
This file implements the IR2Vec algorithm.
Definition in file IR2Vec.cpp.
Macro Definition Documentation
◆ DEBUG_TYPE
#define DEBUG_TYPE "ir2vec"
◆ HANDLE_INST
| #define HANDLE_INST |
( |
NUM, |
| OPCODE, |
|
|
| CLASS ) |
|
|
Value:
if (Opcode == NUM) { \
return #OPCODE; \
}
Function Documentation
◆ STATISTIC()
| STATISTIC |
( |
VocabMissCounter |
, |
| "Number of lookups to entities not present in the vocabulary" |
) |
|
|