[llvm] [llvm-ir2vec] Adding FuncEmb API to ir2vec python bindings (PR #179908)
Nishant Sachdeva via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 5 03:35:00 PST 2026
================
@@ -76,23 +76,49 @@ class PyIR2VecTool {
if (!ToolFuncEmbMap)
throw nb::value_error(toString(ToolFuncEmbMap.takeError()).c_str());
- nb::dict NBFuncEmbMap;
+ nb::dict NbFuncEmbMap;
for (const auto &[FuncPtr, FuncEmb] : *ToolFuncEmbMap) {
auto FuncEmbVec = FuncEmb.getData();
- double *NBFuncEmbVec = new double[FuncEmbVec.size()];
- std::copy(FuncEmbVec.begin(), FuncEmbVec.end(), NBFuncEmbVec);
+ double *NbFuncEmbVec = new double[FuncEmbVec.size()];
+ std::copy(FuncEmbVec.begin(), FuncEmbVec.end(), NbFuncEmbVec);
auto NbArray = nb::ndarray<nb::numpy, double>(
- NBFuncEmbVec, {FuncEmbVec.size()},
- nb::capsule(NBFuncEmbVec, [](void *P) noexcept {
+ NbFuncEmbVec, {FuncEmbVec.size()},
+ nb::capsule(NbFuncEmbVec, [](void *P) noexcept {
delete[] static_cast<double *>(P);
}));
- NBFuncEmbMap[nb::str(FuncPtr->getName().str().c_str())] = NbArray;
+ NbFuncEmbMap[nb::str(FuncPtr->getName().str().c_str())] = NbArray;
}
- return NBFuncEmbMap;
+ return NbFuncEmbMap;
+ }
+
+ nb::ndarray<nb::numpy, double> getFuncEmb(const std::string &FuncName) {
+ const Function *FuncPtr = M->getFunction(FuncName);
----------------
nishant-sachdeva wrote:
Accepted this
https://github.com/llvm/llvm-project/pull/179908
More information about the llvm-commits
mailing list