fusion-plugin icon indicating copy to clipboard operation
fusion-plugin copied to clipboard

Report unfused functions

Open harendra-kumar opened this issue 6 years ago • 3 comments

We should have an option to report the functions/constructors that did not get fused. This will be a big aid to programmers to know where the performance problems might be. Once we have this option, we can also replace the inspection testing in streamly with this plugin.

harendra-kumar avatar Jan 11 '20 06:01 harendra-kumar

We have already added verbose modes to report what did not fuse. We just need to control those from the plugin command line options.

harendra-kumar avatar Jan 31 '20 19:01 harendra-kumar

Other than command line options we also need a FUSED pragma to be used by programmers on top level functions that must not have any unfused constructors i.e. the the function has a closed loop which should be completely fused.

By looking at the FUSED pragma the plugin can tell if the function is supposed to be fused but has not fused.

harendra-kumar avatar Apr 11 '20 08:04 harendra-kumar

Instead of using FUSED pragma I think we should use an UNFUSED pragma. So that the default is FUSED, to suppress the unfused warnings the programmer has to put the UNFUSED pragma.

This should be simple to implement as we are already reporting warning for all unfused cases, we just need to suppress it for UNFUSED annotated functions.

harendra-kumar avatar Jun 29 '20 22:06 harendra-kumar