Skip to content

h4ck3rm1k3/llvm-codegen-py

 
 

Repository files navigation

The ultimate goal of this project is to make easy to develop a
code generation backend in Python for an arbitrary CPU, taking LLVM IR
as input.

However, the code is currently very far away from that aim, and just
contains some hacks towards:

1. Graph-based register allocation.
2. Parsing LLVM IR into Python-native objects, with output support,
aiming towards 100% roundtrip.
3. Utilities to transform LLVM encoded as Python objects, for example,
converting out of SSA form.

These separate features are not 100% complete either, so it may be useful:

1. As a starting base if you wanted to do something similar (I wish I
didn't have start from scratch myself).
2. As an example for llvmpy (http://llvmpy.org) usage.


See also: https://github.com/pfalcon/graph-llvm-ir

About

(Machine) code generation experiments in Python, roughly centered around LLVM IR

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.2%
  • LLVM 3.1%
  • Other 0.7%