LLVM ist a mess
LLVM ist a mess
Posted Mar 18, 2024 18:15 UTC (Mon) by paulj (subscriber, #341)In reply to: LLVM ist a mess by willy
Parent article: Cranelift code generation comes to Rust
I was just pointing out the humour in the irony of making that point via an example written by an author who has a (prodigious) habit of solving difficult problems. ;)
I agree though that, even if a basic compiler is simple, there is a /lot/ more to making a _good_ C/C++ compiler.
Posted Mar 18, 2024 23:48 UTC (Mon)
by NYKevin (subscriber, #129325)
[Link] (1 responses)
Fun fact: If your professor is sufficiently insane, it is possible that you will end up having to write an interpreter for the (untyped) lambda calculus. So count yourself lucky that you got a language that actually looked vaguely modern.
OTOH, I must admit that the lambda calculus is much, *much* easier to implement than most real languages. It only has 2½ rules, or 1½ if you use De Bruijn indexing. But I would've liked to do a real language, or at least something resembling a real language. I often feel that the most difficult courses were the only ones that actually taught me anything useful.
Posted Mar 20, 2024 20:14 UTC (Wed)
by ringerc (subscriber, #3071)
[Link]
I had a comp sci course on concurrency proofs and theory. The tool they used for it sucked so I updated it from the ancient RH4 target it required and replaced the build system. Then fixed some bugs and memory issues. Improved the error messages and generally made the tool nicer to use.
Posted Mar 19, 2024 4:42 UTC (Tue)
by buck (subscriber, #55985)
[Link] (1 responses)
Well, I'm with you: a compiler written by Fabrice Bellard is not your run-of-the-mill hobby project.
But, I'm really more just pointing out that this still blows me away:
https://bellard.org/jslinux/index.html
which i think saves this comment from being (rightly) criticized for being OT, since it's more Linux-y than the article, and this is LWN after all, dang it.
Well, to get this right back on topic, i can actually just point out that JSLinux features tcc and gcc but not clang:
localhost:~# cat readme.txt
b/c the performance win:
[`time gcc -o hello -c hello.c -O0` output elided to spare my old laptop's feelings]
Posted Mar 19, 2024 4:47 UTC (Tue)
by buck (subscriber, #55985)
[Link]
Quoth https://bellard.org/jslinux/news.html:
2020-07-05:
Added the Alpine Linux distribution. Many packages are included such as gcc, Clang, Python 2.7 and 3.8, Node.js, Ruby, PHP, ... The more adventurous (and patient) people can also try to run Wine or Firefox.
LLVM ist a mess
LLVM ist a mess
LLVM ist a mess
Some tests:
- Compile hello.c with gcc (or tcc):
gcc hello.c -o hello
./hello
- Run QuickJS:
qjs hello.js
- Run python:
python3 bench.py
localhost:~#
LLVM ist a mess
Added SSE2 support to the x86 emulator
Added dynamic resizing of the terminal