Author: Armin Rigo <[email protected]> Branch: Changeset: r59372:bd85209007f1 Date: 2012-12-09 18:25 +0100 http://bitbucket.org/pypy/pypy/changeset/bd85209007f1/
Log: Add a FAQ entry "Could we use LLVM?" diff --git a/pypy/doc/faq.rst b/pypy/doc/faq.rst --- a/pypy/doc/faq.rst +++ b/pypy/doc/faq.rst @@ -320,6 +320,30 @@ .. _JVM: translation.html#genjvm .. _`translation document`: translation.html +------------------ +Could we use LLVM? +------------------ + +In theory yes. But we tried to use it 5 or 6 times already, as a +translation backend or as a JIT backend --- and failed each time. + +In more details: using LLVM as a (static) translation backend is +pointless nowadays because you can generate C code and compile it with +clang. (Note that compiling PyPy with clang gives a result that is not +faster than compiling it with gcc.) We might in theory get extra +benefits from LLVM's GC integration, but this requires more work on the +LLVM side before it would be remotely useful. Anyway, it could be +interfaced via a custom primitive in the C code. + +On the other hand, using LLVM as our JIT backend looks interesting as +well --- but again we made an attempt, and it failed: LLVM has no way to +patch the generated machine code. + +So the position of the core PyPy developers is that if anyone wants to +make an N+1'th attempt with LLVM, he is welcome, and he will receive a +bit of help on the IRC channel, but he is left with the burden of proof +that it works. + ---------------------- How do I compile PyPy? ---------------------- _______________________________________________ pypy-commit mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-commit
