Automatic and Customizable Code Rewriting and Refactoring with Clang
Parallel Programming Systems
TimeSunday, 14 November 20212:25pm - 2:32pm CST
DescriptionRefactoring code for cleanliness, API changes, and new programming models is a common, yet time-consuming task for application developers. Many of the changes done while refactoring are simple and mechanical and can be easily automated. Other changes, however, still require input from a human programmer to ensure the desired result is achieved.
This work describes a prototype tool built on top of Clang that will allow programmers to automate these more complex changes via a user-friendly, pure C++ framework. As a motivating example, we present an alternative, customizable implementation of hipify, which translates CUDA to HIP, using our framework.