Skip to content

tinygo-org/go-llvm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b8f1709 · Apr 22, 2025
Apr 22, 2025
Sep 29, 2018
Jun 26, 2022
Dec 30, 2021
Mar 10, 2021
Apr 22, 2025
Nov 13, 2019
Nov 13, 2019
Sep 15, 2022
Jan 19, 2025
Jan 19, 2025
Sep 19, 2023
Feb 11, 2022
Jan 19, 2025
Nov 13, 2019
Sep 23, 2023
Dec 19, 2021
Jan 19, 2025
Sep 19, 2023
Apr 26, 2023
Nov 13, 2019
Oct 14, 2023
Oct 14, 2023
Jan 6, 2024
May 18, 2024
Jan 19, 2025
Apr 22, 2025
Apr 22, 2025
Sep 18, 2023
Sep 18, 2023
Jan 6, 2024
May 18, 2024
Jan 19, 2025
Apr 22, 2025
Apr 22, 2025
Sep 18, 2023
Dec 29, 2021
Sep 20, 2023
Sep 20, 2023
Nov 13, 2019
Nov 13, 2019
Apr 26, 2023
Nov 13, 2019

Repository files navigation

Go bindings to system LLVM

This library provides bindings to a system-installed LLVM.

Currently supported:

  • LLVM 20, 19, 18, 17, 16, 15 and 14 from apt.llvm.org on Debian/Ubuntu.
  • LLVM 20, 19, 18, 17, 16, 15 and 14 from Homebrew on macOS.
  • Any of the above versions with a manually built LLVM through the byollvm build tag. You need to set up CFLAGS/LDFLAGS etc yourself in this case.

You can select the LLVM version using a build tag, for example -tags=llvm17 to use LLVM 17.

Usage

If you have a supported LLVM installation, you should be able to do a simple go get:

go get tinygo.org/x/go-llvm

You can use build tags to select a LLVM version. For example, use -tags=llvm15 to select LLVM 15. Setting a build tag for a LLVM version that is not supported will be ignored.

License

These LLVM bindings for Go originally come from LLVM, but they have since been removed. Still, they remain under the same license as they were originally, which is the Apache License 2.0 (with LLVM exceptions). Check upstream LLVM for detailed copyright information.

This README, the backports* files, and the Makefile are separate from LLVM but are licensed under the same license.

About

Go bindings to LLVM. Used as part of TinyGo.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published