My friend discovered LLVM JIH. This is big, . Below is report of his discovery and the original post can be found here
Reading other’s works and study their code is a great way to learn. When I was in school, I used to belittle some professors’ lecturing styles, particularly those that only incorporate slides and ambiguous hand waving. Code chanting was usually involved. The chanting is usually done letter by letter. For instance, those professors could look at the slides and say "oh this is v
o
i
d
space
m
a
i
n
parenthesis
i
n
t
a
r
g
c
…", or "d
e
f
f
i
b
parenthesis
n
…".
I used to think this kind of lectures is a waste of time. If a lecture is only about reading slides and listening code word by word, I can just read it myself. But today, I realized that maybe it is not that the lectures are bad, but rather I am the outlier. Here is my speculation and my discovery.
My peers might have LLVM installed in their head. Yes, it is a special branch of LLVM, named LLVM Just-In-Head, or LLVM-JIH. When professors chant code through air vibration, students’ biological infrastructure can transpile the code into LLVM-JIH IR and then compile just in head. Students who lack of the LLVM JIH, like me, cannot use their head to compile and thus require a separate chunk of time study on their own, which can be referred as headless building.
We have noticed that some students are more comfortable with Python than C/C++. How can we explain this? Well, C++ compiler is AOT and Python compiler is usually JIT which does not need linking. This difference shows that the linker in those students’ LLVM-JIH might be malfunctioning.
And, if you think about it, professors with the code-chanting style can integrate fastbuild and have multiple compilers work together. Given a class of 20 students, the lecture speed can be increased by 20 times. The only drawbacks in that each student only compiles 1/20 of the lecture content, which doesn’t seem to be too bad, does it?
More advanced infrastructure can work along with the LLVM-JIH. For example, some students has the ability of consulting ChatGPT with compiling. Advanced video OCR can also be found, for many students would reference YouTube videos.
More LLVM-JIH research is needed. We need to find out how to install LLVM-JIH in our head. This would be really helpful for headless builder like me. We also need to find out how to make them run faster. Imagine a 20W compiler than can compile any Coq programs and prove math theorems. The future is bright, isn’t it? :)