rules_heir 0.0.3Latest published 12d ago
MODULE.bazel
bazel_dep(name = "rules_heir", version = "0.0.3")
README

rules_heir

Bazel rules for the HEIR compiler.

Installation

Add the following to your MODULE.bazel:

bazel_dep(name = "rules_heir", version = "0.0.2")

Usage

heir_opt

Run 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_translate

Run 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",
)

Using Local HEIR Binaries

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",
)

About

Bazel rules for HEIR

@j2kun/rules_heir@j2kun
Homepage
Wednesday, May 6, 2026 (12 days ago)

Languages

Go Template2.9%
MLIR0%

Maintainers

@j2kun

Versions