Moved and updated LLPython (formerly LLNumba) documentation from Numba repository.
This commit is contained in:
parent
5b9885fc40
commit
22d8e0048b
19 changed files with 169 additions and 1 deletions
10
docs/source/doc/llpython/articles.rst
Normal file
10
docs/source/doc/llpython/articles.rst
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
LLPython Articles
|
||||
=================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
:maxdepth: 1
|
||||
|
||||
intro_llpython.rst
|
||||
nobitey_dev.rst
|
||||
ctmp_in_llpython.rst
|
||||
5
docs/source/doc/llpython/ctmp_in_llpython.rst
Normal file
5
docs/source/doc/llpython/ctmp_in_llpython.rst
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
Compile-time Metaprogramming in LLPython
|
||||
========================================
|
||||
|
||||
In this article, we discuss how LLPython supports compile-time
|
||||
metaprogramming.
|
||||
9
docs/source/doc/llpython/index.rst
Normal file
9
docs/source/doc/llpython/index.rst
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
LLPython Documentation
|
||||
======================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
:maxdepth: 2
|
||||
|
||||
articles.rst
|
||||
reference.rst
|
||||
46
docs/source/doc/llpython/intro_llpython.rst
Normal file
46
docs/source/doc/llpython/intro_llpython.rst
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
====================
|
||||
Introducing LLPython
|
||||
====================
|
||||
|
||||
In this article, we introduce the llpython package. The primary goal
|
||||
of the llpython package is to provide a Python dialect/subset that
|
||||
maps directly to LLVM code. LLPython differs from its originating
|
||||
LLVM translator, Numba, in the following aspects:
|
||||
|
||||
* LLPython code is not intended to work in Python if not translated
|
||||
and wrapped.
|
||||
* The LLPython translator only uses LLVM types.
|
||||
* LLPython is explicitly typed, and does not support type inference.
|
||||
LLPython does not support implicit casts, all casts must be explicit.
|
||||
* LLPython supports code that directly calls the C API, the Python C
|
||||
API, and the llvm.core.Builder methods.
|
||||
|
||||
Additionally, we designed the sub-package to have the following
|
||||
engineering properties:
|
||||
|
||||
* Usable from Python 2.7, and 3.X. At the time of writing, we plan
|
||||
to support Python 2.6.
|
||||
* Clean from Numba dependencies (other than llvmpy), and can be used
|
||||
as a standalone code generator without a full Numba installation.
|
||||
* Provides a series of Python bytecode passes that can be easily
|
||||
used by other projects.
|
||||
|
||||
|
||||
LLPython Origins
|
||||
================
|
||||
|
||||
We developed LLPython with the initial goal of simplifying writing
|
||||
LLVM code.
|
||||
|
||||
|
||||
LLPython Internals
|
||||
==================
|
||||
|
||||
In this section, we describe the various passes performed by the
|
||||
LLPython translator.
|
||||
|
||||
|
||||
Conclusions
|
||||
===========
|
||||
|
||||
LLPython is neat.
|
||||
6
docs/source/doc/llpython/llpython.byte_control.rst
Normal file
6
docs/source/doc/llpython/llpython.byte_control.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
=====================
|
||||
llpython.byte_control
|
||||
=====================
|
||||
|
||||
.. automodule:: llpython.byte_control
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.byte_flow.rst
Normal file
6
docs/source/doc/llpython/llpython.byte_flow.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
==================
|
||||
llpython.byte_flow
|
||||
==================
|
||||
|
||||
.. automodule:: llpython.byte_flow
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.byte_translator.rst
Normal file
6
docs/source/doc/llpython/llpython.byte_translator.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
========================
|
||||
llpython.byte_translator
|
||||
========================
|
||||
|
||||
.. automodule:: llpython.byte_translator
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.bytecode_visitor.rst
Normal file
6
docs/source/doc/llpython/llpython.bytecode_visitor.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
=========================
|
||||
llpython.bytecode_visitor
|
||||
=========================
|
||||
|
||||
.. automodule:: llpython.bytecode_visitor
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.bytetype.rst
Normal file
6
docs/source/doc/llpython/llpython.bytetype.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
=================
|
||||
llpython.bytetype
|
||||
=================
|
||||
|
||||
.. automodule:: llpython.bytetype
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.control_flow.rst
Normal file
6
docs/source/doc/llpython/llpython.control_flow.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
=====================
|
||||
llpython.control_flow
|
||||
=====================
|
||||
|
||||
.. automodule:: llpython.control_flow
|
||||
:members:
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
=============================
|
||||
llpython.gen_bytecode_visitor
|
||||
=============================
|
||||
|
||||
.. automodule:: llpython.gen_bytecode_visitor
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.nobitey.rst
Normal file
6
docs/source/doc/llpython/llpython.nobitey.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
================
|
||||
llpython.nobitey
|
||||
================
|
||||
|
||||
.. automodule:: llpython.nobitey
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.opcode_util.rst
Normal file
6
docs/source/doc/llpython/llpython.opcode_util.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
====================
|
||||
llpython.opcode_util
|
||||
====================
|
||||
|
||||
.. automodule:: llpython.opcode_util
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.phi_injector.rst
Normal file
6
docs/source/doc/llpython/llpython.phi_injector.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
=====================
|
||||
llpython.phi_injector
|
||||
=====================
|
||||
|
||||
.. automodule:: llpython.phi_injector
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.pyaddfunc.rst
Normal file
6
docs/source/doc/llpython/llpython.pyaddfunc.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
==================
|
||||
llpython.pyaddfunc
|
||||
==================
|
||||
|
||||
.. automodule:: llpython.pyaddfunc
|
||||
:members:
|
||||
6
docs/source/doc/llpython/llpython.rst
Normal file
6
docs/source/doc/llpython/llpython.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
========
|
||||
llpython
|
||||
========
|
||||
|
||||
.. automodule:: llpython
|
||||
:members:
|
||||
5
docs/source/doc/llpython/nobitey_dev.rst
Normal file
5
docs/source/doc/llpython/nobitey_dev.rst
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
nobitey: Using ctypes and llvmpy to Bypass ctypes
|
||||
=================================================
|
||||
|
||||
In this article, we show how nobitey uses llvmpy to eliminate the
|
||||
ctypes call overhead.
|
||||
21
docs/source/doc/llpython/reference.rst
Normal file
21
docs/source/doc/llpython/reference.rst
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
LLPython Module Reference
|
||||
=========================
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
:maxdepth: 2
|
||||
|
||||
llpython.rst
|
||||
llpython.bytecode_visitor.rst
|
||||
llpython.byte_control.rst
|
||||
llpython.byte_flow.rst
|
||||
llpython.byte_translator.rst
|
||||
llpython.bytetype.rst
|
||||
llpython.control_flow.rst
|
||||
llpython.gen_bytecode_visitor.rst
|
||||
llpython.nobitey.rst
|
||||
llpython.opcode_util.rst
|
||||
llpython.phi_injector.rst
|
||||
llpython.pyaddfunc.rst
|
||||
Loading…
Add table
Add a link
Reference in a new issue