Fix CallPE binding for MultiOpndStmt refactor, migrate to PyPI#47
Merged
bjjwwang merged 6 commits intoSVF-tools:mainfrom Apr 11, 2026
Merged
Fix CallPE binding for MultiOpndStmt refactor, migrate to PyPI#47bjjwwang merged 6 commits intoSVF-tools:mainfrom
bjjwwang merged 6 commits intoSVF-tools:mainfrom
Conversation
CallPE was refactored in SVF from AssignStmt to MultiOpndStmt to support phi-like semantics where a formal parameter merges actual parameters from multiple call sites. Update the pybind11 binding and type stubs accordingly: - Change CallPE parent class from AssignStmt to MultiOpndStmt - Replace getCallSite() with getOpCallICFGNode(idx) and getOpCallICFGNodes() - Keep getFunEntryICFGNode() unchanged Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Publish wheels to official PyPI in addition to TestPyPI. Version calculation now queries both PyPI and TestPyPI to avoid version conflicts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Update README: add news about PyPI migration and credit mgree for SVF-tools#46 - Update pip install command to use official PyPI - Update Python version support to 3.8-3.12 - Remove TestPyPI references from pag.ipynb demo notebook Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace CallPE.getCallSite()/getLHSVar()/getRHSVar() with getFunEntryICFGNode()/getRes()/getOpVarNum() in code cell - Update CallPE API documentation tables in markdown cells - Clear stale output from affected code cell Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
pybind11 requires base classes to be registered before derived classes. CallPE (now inheriting MultiOpndStmt) was registered before MultiOpndStmt, causing "referenced unknown base type" ImportError at runtime. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CallPEwas refactored in SVF fromAssignStmttoMultiOpndStmt(phi-like semantics). Updated the pybind11 binding and type stubs accordingly:CallPEparent class fromAssignStmttoMultiOpndStmtgetCallSite()withgetOpCallICFGNode(idx)andgetOpCallICFGNodes()getFunEntryICFGNode()unchanged1.0.0.0). Requires addingPYPI_API_TOKENsecret to the repository.pip install pysvf, credited mgree for #46demo/icfg.ipynb: fixed code cell and API tables that used removedCallPE.getCallSite()/getLHSVar()/getRHSVar()demo/pag.ipynb: removed TestPyPI--index-urlfrom install command