`-fprof-late` and `-fprof-auto` should likely be exclusive to each other.
When I first implemented -fprof-late I envisioned that people might have niche use cases where the existing profiling annotation methods and fprof-late
would be useful.
I still think that's the case for some of these like -fprof-callers
or -fprof-auto-exported
. But for others it's likely to cause more confusion than good.
In this ticket: https://github.com/well-typed/optics/issues/469
People were repeatedly applying both -fprof-auto
implicitly through cabal and -fprof-late
explicitly. Resulting in more cost centres and overhead than expected.
While this is technically just a user error. I think it would be reasonable to make -fprof-auto
either exclusive to -fprof-late
or warn if both flags are used at the same time.