QBE vs. LLVM:
https://news.ycombinator.com/item?id=25273907
IR:
https://en.wikipedia.org/wiki/Intermediate_representation
Transpilation – A summary of ideas about transpilation (AI, LLM, Code, etc.):
21–30 of 38 posts
QBE vs. LLVM:
https://news.ycombinator.com/item?id=25273907
IR:
https://en.wikipedia.org/wiki/Intermediate_representation
Transpilation – A summary of ideas about transpilation (AI, LLM, Code, etc.):
Did a port of busybox bzip2 compression code to plain and simple C99, and cproc/qbe gives me 70-80% of gcc (13.2.0) speed on amd zen2 (tinycc generated machine code is 2 times slower than gcc, but it is really simple and clean assembly code... so it will have its use cases...). Namely, the combo of cproc/qbe + custom assembly would be the perfect toolchain for a lean open source stack with more than decent performanc…
Wow thank you for these back of the envelope benchmarks. I wanted to "feel out" the practicality of using tinycc with cosmopolitan over the provided gcc implementation (mostly as a fun project to re-educate myself with c and assembly) but now I think I might be better off just using the provided toolset and "building something useful" (aka now I want to get lost in how the strace/xed/dynamic assembly stuff works in c…
QBE is really interesting, but for people like me who still use 32 bit architectures unfortunately a bit limited. Someone recently pointed me to the Eigen compiler kit (see e.g. https://github.com/EigenCompilerSuite/ ) which - like QBE - is a lean alternative to LLVM, but supports much more architectures than QBE, even some 16 bit ones; since last week also Xtensa (ESP32) is officially supported. It's still beyond me…
QBE is really interesting, but for people like me who still use 32 bit architectures unfortunately a bit limited. Someone recently pointed me to the Eigen compiler kit (see e.g. https://github.com/EigenCompilerSuite/ ) which - like QBE - is a lean alternative to LLVM, but supports much more architectures than QBE, even some 16 bit ones; since last week also Xtensa (ESP32) is officially supported. It's still beyond me…
Out of curiosity, why are you still using 32-bit architectures?
EDIT: definitely not "maybe the most" popular
Cwerg has backends for x86-64, Aarch64, Arm32 (non-thumb) and can produce executables, i.e. comes with an assembler.
It is however fairly opinionated in many ways.