MDL: A Micro-Architecture Description Language for LLVM
discourse.llvm.org
discourse.llvm.org
https://github.com/MPACT-ORG/llvm-project/blob/work/llvm/doc...
I know we have e.g. VHDL but to marry that to a high level language compiler seems like it would open some new doors (maybe this has already been done and I’m just not aware).
Instruction generation and scheduling optimizations primarily.
I don't know if much higher level optimization is done, possibly some cache blocking? I don't think the limitation is the hardware description available so much as actually using that to make worthwhile optimizations.
I wonder what's going on there.
For example, check out the feature modifiers at the bottom of the page here for aarch64: https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/AArch64-Option...
Versus RISC-V: https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/RISC-V-Options...
Arm32 is even more complex: https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/ARM-Options.ht...
Edit. Never mind. Found it. https://github.com/MPACT-ORG/llvm-project/blob/work/llvm/doc...
RISC-V: 104 LoC, AArch64: 3483. That's wild.
Will happen to RISC-V too, dontcha worry ;)
RISC-V is already caught up with the important features x86 and ARM have, and still hasn't been corrupted.
It'll endure.