Bazel rules for the HEIR compiler.
Add the following to your MODULE.bazel:
bazel_dep(name = "rules_heir", version = "0.0.2")
heir_optRun heir-opt on a file.
load("@rules_heir//heir:heir_opt.bzl", "heir_opt")
heir_opt(
name = "my_target",
src = "input.mlir",
passes = ["--canonicalize"],
generated_filename = "output.mlir",
)
heir_translateRun heir-translate on a file.
load("@rules_heir//heir:heir_translate.bzl", "heir_translate")
heir_translate(
name = "my_translation",
src = "input.mlir",
passes = ["--emit-openfhe-pke"],
generated_filename = "output.cc",
)
By default, rules_heir downloads pre-compiled binaries. If you want to use a
local build of HEIR (e.g., for development), add the following to your
MODULE.bazel:
local_heir_repositories = use_extension("@rules_heir//heir:extensions.bzl", "local_heir_repositories")
local_heir_repositories.config(path = "/path/to/heir/bazel-bin/tools")
use_repo(local_heir_repositories, "heir_local")
register_toolchains(
"@heir_local//:heir_local_toolchain",
)
0.0.32026-05-06 |