[llvm] 7f9f1ac - [llvm-ir2vec] Adding metadata for llvm-ir2vec python binding wheel builds (#194222)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 21 04:02:57 PDT 2026
Author: Nishant Sachdeva
Date: 2026-07-21T16:32:51+05:30
New Revision: 7f9f1ac7238fc582253f5529d134393003b5da12
URL: https://github.com/llvm/llvm-project/commit/7f9f1ac7238fc582253f5529d134393003b5da12
DIFF: https://github.com/llvm/llvm-project/commit/7f9f1ac7238fc582253f5529d134393003b5da12.diff
LOG: [llvm-ir2vec] Adding metadata for llvm-ir2vec python binding wheel builds (#194222)
The next step is to setup the metadata for the wheel building process,
and subsequently follow it up with workflow jobs that can automate this.
Added:
llvm/tools/llvm-ir2vec/Bindings/python/LICENSE.TXT
llvm/tools/llvm-ir2vec/Bindings/python/README.md
llvm/tools/llvm-ir2vec/Bindings/python/ir2vec/__init__.py
llvm/tools/llvm-ir2vec/Bindings/python/pyproject.toml
llvm/tools/llvm-ir2vec/Bindings/python/setup.py
Modified:
llvm/tools/llvm-ir2vec/Bindings/CMakeLists.txt
llvm/tools/llvm-ir2vec/CMakeLists.txt
llvm/utils/release/bump-version.py
Removed:
################################################################################
diff --git a/llvm/tools/llvm-ir2vec/Bindings/CMakeLists.txt b/llvm/tools/llvm-ir2vec/Bindings/CMakeLists.txt
index 6b2e9bf87c2dd..66050e29b68e0 100644
--- a/llvm/tools/llvm-ir2vec/Bindings/CMakeLists.txt
+++ b/llvm/tools/llvm-ir2vec/Bindings/CMakeLists.txt
@@ -28,11 +28,12 @@ endif()
find_package(nanobind CONFIG REQUIRED)
+message(STATUS "Python bindings for ir2vec will be built with nanobind")
nanobind_add_module(ir2vec MODULE PyIR2Vec.cpp)
-set(LLVM_IR2VEC_BINDINGS_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE INTERNAL "")
+set(LLVM_IR2VEC_BINDINGS_DIR "${CMAKE_CURRENT_BINARY_DIR}/python/ir2vec" CACHE INTERNAL "")
set_target_properties(ir2vec PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ LIBRARY_OUTPUT_DIRECTORY "${LLVM_IR2VEC_BINDINGS_DIR}"
)
# Python bindings require exception handling and RTTI to convert C++ exceptions
@@ -41,8 +42,21 @@ set_target_properties(ir2vec PROPERTIES
# This follows the pattern established by MLIR Python bindings
# (see mlir/cmake/modules/AddMLIRPython.cmake).
target_compile_options(ir2vec PRIVATE -fexceptions -frtti)
-
target_link_libraries(ir2vec PRIVATE LLVMIREmbUtils)
target_include_directories(ir2vec PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..)
-message(STATUS "Python bindings for llvm-ir2vec will be built with nanobind")
+# Stage the Python package into the build directory for wheel assembly.
+# Not done at configure time via file(COPY) because that can lead to stale
+# files being consumed by downstream wheel build scripts.
+# Pattern follows llvm/utils/lit/CMakeLists.txt
+# albeit for a
diff erent purpose (staging a wheel package instead of lit tests).
+add_custom_target(ir2vec-python-staging
+ COMMAND ${CMAKE_COMMAND} -E copy_directory
+ "${CMAKE_CURRENT_SOURCE_DIR}/python"
+ "${CMAKE_CURRENT_BINARY_DIR}/python"
+ COMMAND ${CMAKE_COMMAND} -E copy_if_
diff erent
+ "${LLVM_MAIN_SRC_DIR}/lib/Analysis/models/seedEmbeddingVocab75D.json"
+ "${CMAKE_CURRENT_BINARY_DIR}/python/ir2vec/seedEmbeddingVocab75D.json"
+ COMMENT "Staging IR2Vec Python package for wheel assembly"
+ DEPENDS ir2vec
+)
diff --git a/llvm/tools/llvm-ir2vec/Bindings/python/LICENSE.TXT b/llvm/tools/llvm-ir2vec/Bindings/python/LICENSE.TXT
new file mode 100644
index 0000000000000..fa6ac54000703
--- /dev/null
+++ b/llvm/tools/llvm-ir2vec/Bindings/python/LICENSE.TXT
@@ -0,0 +1,279 @@
+==============================================================================
+The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
+==============================================================================
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or
diff erent license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+---- LLVM Exceptions to the Apache 2.0 License ----
+
+As an exception, if, as a result of your compiling your source code, portions
+of this Software are embedded into an Object form of such source code, you
+may redistribute such embedded portions in such Object form without complying
+with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
+
+In addition, if you combine or link compiled forms of this Software with
+software that is licensed under the GPLv2 ("Combined Software") and if a
+court of competent jurisdiction determines that the patent provision (Section
+3), the indemnity provision (Section 9) or other Section of the License
+conflicts with the conditions of the GPLv2, you may retroactively and
+prospectively choose to deem waived or otherwise exclude such Section(s) of
+the License, but only in their entirety and only with respect to the Combined
+Software.
+
+==============================================================================
+Software from third parties included in the LLVM Project:
+==============================================================================
+The LLVM Project contains third party software which is under
diff erent license
+terms. All such code will be identified clearly using at least one of two
+mechanisms:
+1) It will be in a separate directory tree with its own `LICENSE.txt` or
+ `LICENSE` file at the top containing the specific license and restrictions
+ which apply to that software, or
+2) It will contain specific license and restriction terms at the top of every
+ file.
+
+==============================================================================
+Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
+==============================================================================
+University of Illinois/NCSA
+Open Source License
+
+Copyright (c) 2003-2019 University of Illinois at Urbana-Champaign.
+All rights reserved.
+
+Developed by:
+
+ LLVM Team
+
+ University of Illinois at Urbana-Champaign
+
+ http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimers.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimers in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the names of the LLVM Team, University of Illinois at
+ Urbana-Champaign, nor the names of its contributors may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
diff --git a/llvm/tools/llvm-ir2vec/Bindings/python/README.md b/llvm/tools/llvm-ir2vec/Bindings/python/README.md
new file mode 100644
index 0000000000000..38404e54ad11d
--- /dev/null
+++ b/llvm/tools/llvm-ir2vec/Bindings/python/README.md
@@ -0,0 +1,83 @@
+# IR2Vec Python Bindings
+
+Python bindings for [IR2Vec](https://llvm.org/docs/MLGO.html#ir2vec), an LLVM
+IR embedding framework that generates vector representations of LLVM IR for use
+in machine learning-based compiler optimization.
+
+## Installation
+
+```bash
+pip install ir2vec
+```
+
+## Usage
+
+```python
+import ir2vec
+
+# Symbolic embeddings using a bundled vocabulary
+vocabObj = ir2vec.loadVocab(ir2vec.SEED_EMBEDDING_75D)
+
+emb = ir2vec.initEmbedding (
+ filename="file_path.ll",
+ mode=ir2vec.IR2VecKind.FlowAware,
+ vocab=vocabObj
+)
+
+
+func_names = emb.getFuncNames()
+func_emb_map = emb.getFuncEmbMap()
+
+# for an IR function "foo"
+func_emb = emb.getFuncEmb("foo")
+bb_map = emb.getBBEmbMap("foo")
+inst_map = emb.getInstEmbMap("foo")
+```
+
+## Bundled vocabularies
+
+The package ships a pre-trained seed embedding vocabulary:
+
+| Attribute | Dimensions |
+|---|---|
+| `ir2vec.SEED_EMBEDDING_75D` | 75 |
+
+This pre-packaged vocab file has been taken from [`Analysis/models/seedEmbeddingVocab75D.json`](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Analysis/models/seedEmbeddingVocab75D.json) in the LLVM monorepo. Pass this or a vocab of your choice directly to `loadVocab(vocabPath=...)`.
+
+## Building from source
+
+The bindings can be built as part of the LLVM monorepo. From the repo root:
+
+```bash
+cmake -G Ninja -B build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DLLVM_TARGETS_TO_BUILD=host \
+ -DLLVM_IR2VEC_ENABLE_PYTHON_BINDINGS=ON \
+ llvm
+
+ninja -C build llvm-ir2vec
+```
+
+This produces the native extension and a self-contained Python package under
+`build/tools/llvm-ir2vec/Bindings/python/`, with the vocabulary file already in place.
+To build and test a wheel from it:
+
+1. Build the wheel:
+
+ ```bash
+ pip wheel build/tools/llvm-ir2vec/Bindings/python/ \
+ --no-build-isolation \
+ --no-deps \
+ --wheel-dir dist/
+ ```
+
+2. Install the resulting wheel:
+
+ ```bash
+ pip install dist/ir2vec-*.whl
+ ```
+
+## License
+
+Apache License v2.0 with LLVM Exceptions. See
+[LICENSE.TXT](LICENSE.TXT) or [llvm.org/LICENSE.txt](https://llvm.org/LICENSE.txt).
diff --git a/llvm/tools/llvm-ir2vec/Bindings/python/ir2vec/__init__.py b/llvm/tools/llvm-ir2vec/Bindings/python/ir2vec/__init__.py
new file mode 100644
index 0000000000000..6e2c0d4a8f504
--- /dev/null
+++ b/llvm/tools/llvm-ir2vec/Bindings/python/ir2vec/__init__.py
@@ -0,0 +1,13 @@
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+import importlib.resources as _resources
+from .ir2vec import * # noqa: F401, F403
+
+__versioninfo__ = (23, 0, 0)
+__version__ = ".".join(str(v) for v in __versioninfo__)
+
+SEED_EMBEDDING_75D: str = str(
+ _resources.files(__name__).joinpath("seedEmbeddingVocab75D.json")
+)
diff --git a/llvm/tools/llvm-ir2vec/Bindings/python/pyproject.toml b/llvm/tools/llvm-ir2vec/Bindings/python/pyproject.toml
new file mode 100644
index 0000000000000..51f3f9bd4c311
--- /dev/null
+++ b/llvm/tools/llvm-ir2vec/Bindings/python/pyproject.toml
@@ -0,0 +1,35 @@
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+[build-system]
+requires = ["setuptools>=77", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "ir2vec"
+dynamic = ["version"]
+description = "Python bindings for IR2Vec, an LLVM IR embedding framework"
+readme = {file = "README.md", content-type = "text/markdown"}
+license = "Apache-2.0 WITH LLVM-exception"
+license-files = ["LICENSE.TXT"]
+requires-python = ">=3.10"
+dependencies = ["numpy>=1.23"]
+
+[project.urls]
+Homepage = "https://llvm.org/"
+"Issue Tracker" = "https://github.com/llvm/llvm-project/issues"
+"Source Code" = "https://github.com/llvm/llvm-project/tree/main/llvm/tools/llvm-ir2vec"
+
+[tool.setuptools.dynamic]
+version = {attr = "ir2vec.__version__"}
+
+# TODO: When ir2vec python bindings add support for Windows and MacOS,
+# we should update the expected patterns to include the
+# appropriate file extensions for each platform, e.g.:
+# "*.pyd", "*.dylib",
+[tool.setuptools.package-data]
+ir2vec = ["*.so", "*.json"]
+
+[tool.setuptools.packages.find]
+include = ["ir2vec*"]
diff --git a/llvm/tools/llvm-ir2vec/Bindings/python/setup.py b/llvm/tools/llvm-ir2vec/Bindings/python/setup.py
new file mode 100644
index 0000000000000..c98611e39912b
--- /dev/null
+++ b/llvm/tools/llvm-ir2vec/Bindings/python/setup.py
@@ -0,0 +1,35 @@
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+import glob
+from setuptools import setup
+from setuptools.dist import Distribution
+
+
+class BinaryDistribution(Distribution):
+ def has_ext_modules(self):
+ return True
+
+
+def _validate_package_contents():
+ # TODO: When ir2vec python bindings add support for Windows and MacOS,
+ # we should update the expected patterns to include the
+ # appropriate file extensions for each platform, e.g.:
+ # "ir2vec/ir2vec.cpython-*.pyd", "ir2vec/ir2vec.cpython-*.dylib"],
+ _EXPECTED_PACKAGE_CONTENTS = {
+ "bindings module": ["ir2vec/ir2vec.cpython-*.so"],
+ "seed embedding vocabulary file": ["ir2vec/seedEmbeddingVocab75D.json"],
+ }
+
+ for description, patterns in _EXPECTED_PACKAGE_CONTENTS.items():
+ if not any(glob.glob(p) for p in patterns):
+ raise FileNotFoundError(
+ f"Missing {description}: none of {patterns} found in ir2vec/. "
+ "Run the build step before packaging."
+ )
+
+
+_validate_package_contents()
+
+setup(distclass=BinaryDistribution)
diff --git a/llvm/tools/llvm-ir2vec/CMakeLists.txt b/llvm/tools/llvm-ir2vec/CMakeLists.txt
index 85e51aaf7d9f5..50afd732fa2f1 100644
--- a/llvm/tools/llvm-ir2vec/CMakeLists.txt
+++ b/llvm/tools/llvm-ir2vec/CMakeLists.txt
@@ -44,4 +44,5 @@ set(LLVM_IR2VEC_TEST_PYTHON_BINDINGS False CACHE INTERNAL "")
if(LLVM_IR2VEC_ENABLE_PYTHON_BINDINGS)
add_subdirectory(Bindings)
set(LLVM_IR2VEC_TEST_PYTHON_BINDINGS True CACHE INTERNAL "" FORCE)
+ add_dependencies(llvm-ir2vec ir2vec ir2vec-python-staging)
endif()
diff --git a/llvm/utils/release/bump-version.py b/llvm/utils/release/bump-version.py
index 1a55328bb2d55..02166511dba9b 100755
--- a/llvm/utils/release/bump-version.py
+++ b/llvm/utils/release/bump-version.py
@@ -188,6 +188,11 @@ def process_line(self, line: str) -> str:
"llvm/utils/lit/lit/__init__.py",
LitProcessor(args),
),
+ # IR2Vec Python Bindings configuration
+ (
+ "llvm/tools/llvm-ir2vec/Bindings/python/ir2vec/__init__.py",
+ LitProcessor(args),
+ ),
# mlgo-utils configuration
(
"llvm/utils/mlgo-utils/mlgo/__init__.py",
More information about the llvm-commits
mailing list