Why does GHC start a separate compilation when I build with cabal
--enable-library-profiling? At least parsing and type-checking should be
the same as in the non-profiling compilation. Why aren't these steps
shared between profiling and non-profiling compilation?
I remember that in the past GHC also started a separate compilation for
shared object generation. However, starting with GHC-7.8 dyn-files are
just generated along with static compilation.