LLVM-based -VEX compiler
M.A.F.M. Daverveldt · Research Repository (Delft University of Technology) · 2014
This thesis describes the development of an LLVM-based compiler for the ?-VEX processor. The ?-VEX processor is a runtime re- configurable VLIW processor. Currently, two compilers exist that target the ?-VEX processor: a HP-VEX compiler and a GCC-based compiler. We show that both compilers have disadvantages that are very dif- ficult to fix. Therefore we have built an LLVM-based compiler that targets the ?-VEX processor. The LLVM-based compiler can be pa- rameterized in a way similar to the HP-VEX compiler. Furthermore, we will present certain optimizations that are new for LLVM-based compilers. These optimizations include a custom machine scheduler that avoids structural and data hazards in the generated binaries. Finally, we demonstrate the operations of the LLVM-based compiler and compare the performance of generated binaries with the exist- ing compilers. We will show that the LLVM-based compiler exceeds the performance and code quality of the GCC-based compiler. Bina- ries generated with the HP-VEX compiler outperform those of the LLVM-based compiler.