Live data from Hacker News

QBE – Compiler Back End

c9x.me

1–10 of 38 posts

Re: QBE – Compiler Back End

#2
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 why the Eigen kit, which has been in development for more than ten years, is not more popular.

Re: QBE – Compiler Back End

#3
post #2

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…

ECS looks cool, and also supports the 68000. The described ABI seems very incompatible with AmigaOS (a6) although it is likely possible to instruct the compiler to do otherwise.

Unfortunately missing in ECS is RISC-V, which QBE supports.

Re: QBE – Compiler Back End

#4
post #3
post #2

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…

ECS looks cool, and also supports the 68000. The described ABI seems very incompatible with AmigaOS (a6) although it is likely possible to instruct the compiler to do otherwise. Unfortunately missing in ECS is RISC-V, which QBE supports.

> Unfortunately missing in ECS is RISC-V, which QBE supports

Well, the Tensilica ABI only took a few weeks to implement; so I assume that when enough people ask for a RISC-V backend, there will be one in reasonable time. Personally I consider ESP32 and ARM32 support more useful.

Re: QBE – Compiler Back End

#6
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 performance. Yeah, but we have still people missing out why c++ is so much toxic...

Re: QBE – Compiler Back End

#7
post #4
post #3

Earlier quoted context omitted.

ECS looks cool, and also supports the 68000. The described ABI seems very incompatible with AmigaOS (a6) although it is likely possible to instruct the compiler to do otherwise. Unfortunately missing in ECS is RISC-V, which QBE supports.

> Unfortunately missing in ECS is RISC-V, which QBE supports Well, the Tensilica ABI only took a few weeks to implement; so I assume that when enough people ask for a RISC-V backend, there will be one in reasonable time. Personally I consider ESP32 and ARM32 support more useful.

>Personally I consider ESP32

Sure you don't mean Tensilica i.e. legacy ESP32?

Espressif has notably switched to RISC-V.

Re: QBE – Compiler Back End

#8
post #2

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…

Although unfortunately not open source proper, vbcc[0][1] is interesting.

0. http://www.compilers.de/vbcc.html

1. https://en.wikipedia.org/wiki/Vbcc

Re: QBE – Compiler Back End

#10
post #7
post #4

Earlier quoted context omitted.

> Unfortunately missing in ECS is RISC-V, which QBE supports Well, the Tensilica ABI only took a few weeks to implement; so I assume that when enough people ask for a RISC-V backend, there will be one in reasonable time. Personally I consider ESP32 and ARM32 support more useful.

>Personally I consider ESP32 Sure you don't mean Tensilica i.e. legacy ESP32? Espressif has notably switched to RISC-V.

> Espressif has notably switched to RISC-V

Not really switched; they offer ESP32 models with (so far) single-core RISC-V; I don't think they planned to stop selling the original ESP32 designs (they wouldn't do themselves a favour).

Post reply on HN