Currently, AsIR implementors supply a list of concrete function definitions inside functions. This results in a lot of duplication for functions shared between multiple dependents, which then has to be deduplicated via hashing before codegen.
This should be refactored to use FunctionIdentifier instead of duplicating FunctionDefinition. This should also allow for a simplified API surface, since dependencies and concrete functions can be split across different AsIR functions.
Currently, AsIR implementors supply a list of concrete function definitions inside
functions
. This results in a lot of duplication for functions shared between multiple dependents, which then has to be deduplicated via hashing before codegen.This should be refactored to use
FunctionIdentifier
instead of duplicatingFunctionDefinition
. This should also allow for a simplified API surface, since dependencies and concrete functions can be split across different AsIR functions.