llvm-codegen-py

所属分类:自动编程
开发工具:Python
文件大小:34KB
下载次数:0
上传日期:2016-04-02 09:06:13
上 传 者sh-1993
说明:  Python中的(机器)代码生成实验,大致以LLVM IR为中心
((Machine) code generation experiments in Python, roughly centered around LLVM IR)

文件列表:
adot2dot (1078, 2016-04-02)
clang2llvm (134, 2016-04-02)
docs (0, 2016-04-02)
docs\8051-datalayout.txt (1552, 2016-04-02)
docs\compiler-qa.txt (3168, 2016-04-02)
docs\wide-values.txt (1083, 2016-04-02)
dot.py (915, 2016-04-02)
graph.py (5759, 2016-04-02)
graph_color.py (1872, 2016-04-02)
interference.py (1620, 2016-04-02)
liveness.py (1785, 2016-04-02)
llvm2c.py (3912, 2016-04-02)
llvm2exe (89, 2016-04-02)
llvm2icode.py (2147, 2016-04-02)
llvm2py.py (7261, 2016-04-02)
parse.py (7942, 2016-04-02)
phi_resolver.py (956, 2016-04-02)
pllvm.py (13308, 2016-04-02)
reg_alloc.py (1264, 2016-04-02)
reg_alloc_old_draft.py (7018, 2016-04-02)
run-tests.sh (114, 2016-04-02)
run.sh (111, 2016-04-02)
tests (0, 2016-04-02)
tests\__init__.py (0, 2016-04-02)
tests\data (0, 2016-04-02)
tests\data\Makefile (234, 2016-04-02)
tests\data\appel-2ed-p204-llvm-br.ll (206, 2016-04-02)
tests\data\appel-2ed-p204.ll (186, 2016-04-02)
tests\data\appel-2ed-p221.adot (343, 2016-04-02)
tests\data\appel-2ed-p221.dot (221, 2016-04-02)
tests\data\appel-2ed-p221.ll (427, 2016-04-02)
tests\data\func-if.ll (512, 2016-04-02)
tests\data\strlen.c (94, 2016-04-02)
tests\data\strlen.ll (980, 2016-04-02)
tests\data\strlen.ll.nossa (976, 2016-04-02)
tests\test_graph.py (654, 2016-04-02)
tests\test_graph_color.py (1969, 2016-04-02)
... ...

The ultimate goal of this project is to make it 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 hadn't had to start from scratch myself). 2. As an example for llvmpy (http://llvmpy.org) usage. See also: https://github.com/pfalcon/graph-llvm-ir

近期下载者

相关文件


收藏者