We were using a prior iteration of the SymbolTable API, which lacked
features for more robust renaming (which landed upstream but were not
incorporated). This patch now uses the module name (which is descriptive
for JAX exported modules) to prefix all functions and suffixes them
further if still not unique.
Also does verification and error reporting before attempting to compile,
resulting in better error messages.
We were using a prior iteration of the SymbolTable API, which lacked features for more robust renaming (which landed upstream but were not incorporated). This patch now uses the module name (which is descriptive for JAX exported modules) to prefix all functions and suffixes them further if still not unique.
Also does verification and error reporting before attempting to compile, resulting in better error messages.