This PR adds the instrument exporter. This is responsible for taking a project and building an object file from it, which provides a low-level C interface.
The implementation of this involves two parts: the backend (which takes in a transaction and configuration, and outputs the files), and the frontend (which allows the user to adjust the configuration).
As specified in #87, the exporter also enables several MIR passes with the goals of reducing redundant and unnecessary code.
This PR adds the instrument exporter. This is responsible for taking a project and building an object file from it, which provides a low-level C interface.
The implementation of this involves two parts: the backend (which takes in a transaction and configuration, and outputs the files), and the frontend (which allows the user to adjust the configuration).
As specified in #87, the exporter also enables several MIR passes with the goals of reducing redundant and unnecessary code.