While this is probably desirable, I'm not quite sure if it's feasible. With that said, several people (@vstinner at the sprint and @zooba during PR review) both expressed a desire to remove the LLVM build-time dependency for JIT builds. Let's have that conversation here.
BackgroundWhen building CPython with the JIT enabled, LLVM 16LLVM 18 is used to compile Tools/jit/template.c
many times, and process the resulting object files into a file called jit_stencils.h
in the build directory.
Because this file depends on Python.h
(and thus pyconfig.h
and many build-specific configuration options, including things like _DEBUG
/NDEBUG
/Py_DEBUG
/etc.) and contains binary code, it is probably most useful to think of jit_stencils.h
as a binary extension module.
If we could build, host, and manage compiled versions of, say, itertoolsmodule.c
somewhere and have it work correctly for those who need it, then such a scheme would probably work for jit_stencils.h
.
#ifdef
s), or many files?jit_stencils.h
reproducible #127166RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4