The epp bundled with needle is outdated. The standalone epp repository has an implementation which is much more robust. It supports a) multiple functions b) multithreaded code as well as better corner case handling. To remove the dependence on the bundled epp tool, we need to remove the canonicalization passes into their own tool. Then the entire bitcode as a whole can be fed to the standalone epp tool. The needle frontend also needs to be modified to support reading of multiple functions format dump files. Alternatively, helper scripts could act as a bridge between formats.
The epp bundled with needle is outdated. The standalone epp repository has an implementation which is much more robust. It supports a) multiple functions b) multithreaded code as well as better corner case handling. To remove the dependence on the bundled epp tool, we need to remove the canonicalization passes into their own tool. Then the entire bitcode as a whole can be fed to the standalone epp tool. The needle frontend also needs to be modified to support reading of multiple functions format dump files. Alternatively, helper scripts could act as a bridge between formats.