🌐
GitHub
github.com › numba › llvmlite
GitHub - numba/llvmlite: A lightweight LLVM python binding for writing JIT compilers · GitHub
A lightweight LLVM python binding for writing JIT compilers - numba/llvmlite
Starred by 2.3K users
Forked by 363 users
Languages   Python 75.4% | C++ 18.9% | Shell 1.9% | CMake 1.7% | Batchfile 1.4% | LLVM 0.6% | C 0.1%
🌐
Llvmpy
llvmpy.org
QuickStart — llvmpy
llvmpy is a Python wrapper around the llvm C++ library which allows simple access to compiler tools.
Discussions

Mapping Python to LLVM
Yo this looks dope - I'm always excited for anything LLVM , and a python-like compiled languages has been something I've wanted for ages!! Will definitely be following this project closely, and will be looking forwards to how it develops! More on reddit.com
🌐 r/programming
14
80
January 9, 2023
Codon: A high-performance Python-like compiler using LLVM
Reality-check: Why do you think type hints and type checkers like mypy and pyright take such a long time to get going and even they are not there yet? If this was all so easy with just ignoring some obscure rarely used features then mypy would work with essentially no type annotations, all ... More on news.ycombinator.com
🌐 news.ycombinator.com
179
317
December 11, 2022
Let's Write an LLVM Specializer for Python!

Very cool, but what is the difference to numba?

More on reddit.com
🌐 r/Python
9
24
July 11, 2016
Python compiler on top of LLVM
Would a compiler built on top of LLVM (for a new language) inherently be able to compile the C++ standard library? What compiles the C++ standard library is Clang, not LLVM per se (although Clang is part of the LLVM umbrella project). If you want to write a language that compiles to LLVM but provides access to the C++ STL you need a C++ FFI. Very few languages provide C++ FFI because C++ is so insanely complicated (and I can imagine instantiating templates from another language would certainly be nontrivial), so they usually instead provide FFI to C. I think D does it though. What I recommend is using Boost.Python to expose parts of the C++ STL you want to Python instead, and then write normal Python code with numpy. More on reddit.com
🌐 r/ProgrammingLanguages
20
3
March 8, 2019
🌐
GitHub
github.com › eliben › pykaleidoscope
GitHub - eliben/pykaleidoscope: Implementation of the LLVM tutorial in Python using llvmlite · GitHub
This repository contains a chapter-by-chapter translation of the LLVM tutorial into Python, using the llvmlite package that exposes LLVM to Python.
Starred by 343 users
Forked by 37 users
Languages   Python 99.9% | Vim Script 0.1%
🌐
Medium
medium.com › @mbednarski › creating-a-programing-language-and-compiler-with-python-and-llvm-689c3b560982
Create a programing language and compiler using Python and LLVM | by Mateusz Bednarski | Medium
June 1, 2022 - But we will not implement everything from scratch. For the back-end, we will use LLVM Compiler Infrastructure. LLVM is very popular — some notable users are C/C++/Swift/Haskell/Julia and more. We will use lark for the lexer and parser — a python package dedicated to it.
🌐
LLVM
llvm.org › docs › GettingStarted.html
Getting Started with the LLVM System — LLVM 23.0.0git documentation
Contains bindings for the LLVM compiler infrastructure to allow programs written in languages other than C or C++ to take advantage of the LLVM infrastructure. The LLVM project provides language bindings for OCaml and Python.
🌐
MLIR
mlir.llvm.org › docs › Bindings › Python
MLIR Python Bindings - MLIR
LLVM/MLIR is a non-trivial Python-native project that is likely to co-exist with other non-trivial native extensions. As such, the native extension (i.e. the .so/.pyd/.dylib) is exported as a notionally private top-level symbol (_mlir), while a small set of Python code is provided in mlir/_cext_loader.py and siblings which loads and re-exports it.
🌐
Reddit
reddit.com › r/programming › mapping python to llvm
r/programming on Reddit: Mapping Python to LLVM
January 9, 2023 - It's a Codon compiler not a "Python compiler", and it compiles Codon and Codon-compatible Python code, not "Python code". Gotta love when documentation lies and ends up confusing/misleading me, feels a bit too common lately. ... int can become an LLVM i64 (note that this deviates from Python’s arbitrary- width integers, but it turns out 64 bits are more than enough for most applications)
🌐
GitHub
github.com › revng › llvmcpy
GitHub - revng/llvmcpy: Python bindings for LLVM auto-generated from the LLVM-C API
Python bindings for LLVM auto-generated from the LLVM-C API - revng/llvmcpy
Starred by 229 users
Forked by 22 users
Languages   Python 100.0% | Python 100.0%
Find elsewhere
🌐
Readthedocs
llvmlite.readthedocs.io
llvmlite — llvmlite 0.49.0dev0+29.gaba4d7b.dirty documentation
The construction of an LLVM module does not call the LLVM C++ API. Rather, it constructs the LLVM intermediate representation (IR) in pure Python.
🌐
Exaloop
exaloop.io › blog › mapping-python-to-llvm
Mapping Python to LLVM | Exaloop
Instead, we map each Python variable to a stack-allocated piece of memory: ... alloca is an LLVM IR instruction that allocates space on the current stack frame; alloca i64 allocates space for a 64-bit integer. Treating variables this way is standard practice when compiling to LLVM IR, and C/C++ compilers will do the same (e.g.
🌐
PyCon US
us.pycon.org › 2016 › schedule › presentation › 1995
Presentation: Wrestling Python into LLVM Intermediate Representation | PyCon 2016 in Portland, OR
The LLVM Project provides an intermediate representation (LLVM-IR) that can be compiled on many platforms. LLVM-IR is used by analytical frameworks to achieve language and platform independence.
🌐
Hacker News
news.ycombinator.com › item
Codon: A high-performance Python-like compiler using LLVM | Hacker News
December 11, 2022 - Reality-check: Why do you think type hints and type checkers like mypy and pyright take such a long time to get going and even they are not there yet? If this was all so easy with just ignoring some obscure rarely used features then mypy would work with essentially no type annotations, all ...
🌐
GitHub
github.com › ROCm › rocm-llvm-python
GitHub - ROCm/rocm-llvm-python: Low-level Cython and Python bindings to the (ROCm) LLVM and AMD COMGR C API. Also ships the official LLVM Clang bindings. · GitHub
Low-level Cython and Python bindings to the (ROCm) LLVM and AMD COMGR C API. Also ships the official LLVM Clang bindings. - ROCm/rocm-llvm-python
Author   ROCm
🌐
LPython
lpython.org
LPython
LPython aggressively optimizes type-annotated Python code. It has several backends, including LLVM, C, C++, and WASM.
🌐
Python Developer's Guide
devguide.python.org › clang
Dynamic Analysis with Clang - Python Developer's Guide
August 14, 2021 - This document describes how to use Clang to perform analysis on Python and its libraries. In addition to performing the analysis, the document will cover downloading, building and installing the latest Clang/LLVM combination (which is currently 3.4).
🌐
PyData
numba.pydata.org
Numba: A High Performance Python Compiler
Numba translates Python functions to optimized machine code at runtime using the industry-standard LLVM compiler library.
🌐
PyPI
pypi.org › project › llvmlite › 0.4.0
llvmlite · PyPI
- A pure Python implementation of the subset of the LLVM IR builder that we need for Numba.
      » pip install llvmlite
    
Published   Apr 13, 2015
Version   0.4.0
🌐
Readthedocs
llvmlite.readthedocs.io › en › v0.11.0
llvmlite – a light-weight Python binding to LLVM — llvmlite 0.5.0 documentation
llvmlite – a light-weight Python binding to LLVM · Edit on GitHub · 1. Introduction · 1.1. Overview · 1.2. Philosophy · 1.3. LLVM compatibility · 1.4. API stability · 2. Installing · 2.1. Pre-built binaries · 2.2. Building manually · 3. llvmlite.ir – The IR layer ·
🌐
PyPI
pypi.org › project › llvmpy
llvmpy · PyPI
Other Python versions may work. Get and extract LLVM 3.2 source tarball from llvm.org.
      » pip install llvmpy
    
Published   Aug 01, 2014
Version   0.12.7
🌐
LLVM
llvm.org › svn › llvm-project › lldb › trunk › examples › python
http://llvm.org/svn/llvm-project/lldb/trunk/exampl...
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines. The name "LLVM" itself is not an acronym; it is the full name of the project · LLVM began as a research project at the University ...