27 IR2Vec::VocabTy &vocabulary;
28 IR2Vec::Vector pgmVector;
30 IR2Vec::Vector getValue(std::string key);
31 IR2Vec::Vector bb2Vec(llvm::BasicBlock &B,
32 llvm::SmallVector<llvm::Function *, 15> &funcStack);
33 IR2Vec::Vector func2Vec(llvm::Function &F,
34 llvm::SmallVector<llvm::Function *, 15> &funcStack);
36 llvm::SmallMapVector<const llvm::Function *, IR2Vec::Vector, 16> funcVecMap;
37 llvm::SmallMapVector<const llvm::BasicBlock *, IR2Vec::Vector, 16> bbVecMap;
38 llvm::SmallMapVector<const llvm::Instruction *, IR2Vec::Vector, 128>
43 : M{M}, vocabulary{vocab} {
44 pgmVector = IR2Vec::Vector(IR2Vec::DIM, 0);
48 void generateSymbolicEncodings(std::ostream *o =
nullptr);
49 void generateSymbolicEncodingsForFunction(std::ostream *o =
nullptr,
50 std::string name =
"");
51 llvm::SmallMapVector<const llvm::Instruction *, IR2Vec::Vector, 128>
56 llvm::SmallMapVector<const llvm::BasicBlock *, IR2Vec::Vector, 16>
61 llvm::SmallMapVector<const llvm::Function *, IR2Vec::Vector, 16>
66 IR2Vec::Vector getProgramVector() {
return pgmVector; }