Interactive Assembly Visualisation

Client - Hugo Pompougnac, INRIA Grenoble hugo.pompougnac@inria.fr

Performance engineers often work with assembly code, whether it's generated by a compiler or written by hand. Yet, such code is hard to read -- and therefore hard to write. Writing such code becomes easier if the presentation of assembly code is visually enhanced: masking overly low-level details (like instruction addresses), annotating control flow, syntax highlighting, and even lifting the representation of the computation. In this project, you will integrate such techniques into xDSL, a general-purpose MLIR-compatible compiler framework written in Python with representations of assembly instructions, to help with compiler debugging as well as debugging handwritten assembly. This will involve: parsing the assembly, converting it into MLIR-structured IR, as well as creating a visualisation of useful information present in the assembly. We invite you to take inspiration from anywidget, textual, or any other related tool you may find. When completed, this project will make interactive assembly code reasoning easily accessible and fun.