The type_use implementation is buggy, leading to nightmarish code generation errors. The mergefunc pass will be strictly better in terms of code size reduction since it compares equality of the function bytecode after normalizing it. I think it will catch nearly every valid case we currently do with type_use, if not all.
We should drop the maintenance burden as soon as we get mergefunc working (or sooner) and revisit it as a potential compile-time optimization in the future.
The
type_useimplementation is buggy, leading to nightmarish code generation errors. Themergefuncpass will be strictly better in terms of code size reduction since it compares equality of the function bytecode after normalizing it. I think it will catch nearly every valid case we currently do withtype_use, if not all.We should drop the maintenance burden as soon as we get
mergefuncworking (or sooner) and revisit it as a potential compile-time optimization in the future.