LLVM: lib/CodeGen/MIR2Vec.cpp File Reference (original) (raw)

This file implements the MIR2Vec algorithm for Machine IR embeddings. More...

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::mir2vec
Macros
#define DEBUG_TYPE "mir2vec"
Functions
STATISTIC (MIRVocabMissCounter, "Number of lookups to MIR entities not present in the vocabulary")
cl::OptionCategory llvm::mir2vec::MIR2VecCategory ("MIR2Vec Options")
cl::opt< float > llvm::mir2vec::OpcWeight ("mir2vec-opc-weight", cl::Optional, cl::init(1.0), cl::desc("Weight for machine opcode embeddings"), cl::cat(MIR2VecCategory))
cl::opt< float > llvm::mir2vec::CommonOperandWeight ("mir2vec-common-operand-weight", cl::Optional, cl::init(1.0), cl::desc("Weight for common operand embeddings"), cl::cat(MIR2VecCategory))
cl::opt< float > llvm::mir2vec::RegOperandWeight ("mir2vec-reg-operand-weight", cl::Optional, cl::init(1.0), cl::desc("Weight for register operand embeddings"), cl::cat(MIR2VecCategory))
INITIALIZE_PASS_BEGIN (MIR2VecVocabLegacyAnalysis, "mir2vec-vocab-analysis", "MIR2Vec Vocabulary Analysis", false, true) INITIALIZE_PASS_END(MIR2VecVocabLegacyAnalysis
INITIALIZE_PASS_BEGIN (MIR2VecVocabPrinterLegacyPass, "print-mir2vec-vocab", "MIR2Vec Vocabulary Printer Pass", false, true) INITIALIZE_PASS_END(MIR2VecVocabPrinterLegacyPass
INITIALIZE_PASS_BEGIN (MIR2VecPrinterLegacyPass, "print-mir2vec", "MIR2Vec Embedder Printer Pass", false, true) INITIALIZE_PASS_END(MIR2VecPrinterLegacyPass
Variables
static cl::opt< std::string > llvm::mir2vec::VocabFile ("mir2vec-vocab-path", cl::Optional, cl::desc("Path to the vocabulary file for MIR2Vec"), cl::init(""), cl::cat(MIR2VecCategory))
cl::opt< MIR2VecKind > llvm::mir2vec::MIR2VecEmbeddingKind ("mir2vec-kind", cl::Optional, cl::values(clEnumValN(MIR2VecKind::Symbolic, "symbolic", "Generate symbolic embeddings for MIR")), cl::init(MIR2VecKind::Symbolic), cl::desc("MIR2Vec embedding kind"), cl::cat(MIR2VecCategory))
mir2vec vocab analysis
mir2vec vocab MIR2Vec Vocabulary Analysis
mir2vec vocab MIR2Vec Vocabulary false
print mir2vec vocab
print mir2vec MIR2Vec Vocabulary Printer Pass
print mir2vec

This file implements the MIR2Vec algorithm for Machine IR embeddings.

Definition in file MIR2Vec.cpp.

DEBUG_TYPE

#define DEBUG_TYPE "mir2vec"

INITIALIZE_PASS_BEGIN() [1/3]

INITIALIZE_PASS_BEGIN() [2/3]

INITIALIZE_PASS_BEGIN() [3/3]

STATISTIC()

STATISTIC ( MIRVocabMissCounter ,
"Number of lookups to MIR entities not present in the vocabulary" )

Analysis

mir2vec vocab MIR2Vec Vocabulary Analysis

analysis

false

Pass

vocab