EXTENDING DIOSPYROS AUTO-VECTORIZATION TO LLVM
Short vector instruction sets are ubiquitous on computers. Auto-vectorizingcompilers help programmers bridge the gap by automatically mapping domain specific codes to efficient sequences of vector instructions on domain specific architectures. This thesis builds on the Diospyros project to implement a Diospyros LLVM pass translating linear algebraic kernels to SIMD vector architectures. The pass uses the idea from the Diospyros project to apply a search-based equality saturation method to find vector instructions. Results show that the Diospyros LLVM pass generates vector code with good runtime performance on stencil and convolution kernels, but poor results on other kernels indicate future work is required.