Facile : A Domain Specific Language and Compiler for Program Analysis and Optimization
Research on program analyses and optimizations has advanced a lot and is able to provide insightful diagnostics and generate high performant code for various targets over past few years. However, it is still a cumbersome task to implement compiler algorithms which analyze or perform optimizations as it requires the knowledge of compiler infrastructure and related tools; a researcher, who is well versed in compilers needs to know the internals of the compiler infrastructure (like LLVM or GCC) in order to implement even a simple analysis pass. This poses hindrance in rapid prototyping and experimentation of new compiler algorithms. We propose a domain specific language called Facile which aims to reduce this burden off the compiler developers by allowing them to express data-flow and control-flow algorithms at higher lever of abstraction. The Facile compiler lowers the code written in Facile language to a compiler infrastructure specific pass(es) and generates final executable. We demonstrate the effectiveness of our language with a real-world use case and explain the tool chain required to implement the language.
|paper link (facile-domain-specific.pdf)||350KiB|
Sat 19 Jan
|11:00 - 11:45|
|11:45 - 12:30|
Xuanrui QiTufts UniversityPre-print