Goals of the project
Reduce time spent in the LLVM backend
The Bachmann team finds that their compiler is quite quick in the frontend, but spends a huge amount of time in the backend - this isn't just an impression, they have metrics to support this.
They would like us to investigate the time spent there, and how they could help the backend (both in terms of improving the quality of generated code, and reducing compilation time) by generating different LLVM IR from their frontend.
The compilation time is the most important piece of the project that we can help them with, and the most pressing. They are competing against their old in-house ST compiler, which is not an optimizing compiler and is extremely fast.
They would also like to understand why the time spent in the backend is different when compiling for x86 vs compiling for Arm.
Look into LLVM metadata nodes and if they could help
Profile the compiler to figure out the various slowdowns
Research how to improve the generated IR for this