I seem to recall someone mentioning a tool for normalizing
the output of things like -ddump-simpl to make diffs easier
by reducing irrelevant differences due to gensym-generated
names. Was that just wishful thinking, or does such a thing exist?-)
I would also find such a tool very useful, but to the best of my
knowledge there's nothing out there yet.
Surprising - how do all of you optimization tuners manage without?
You can get quite far by using the -dsuppress-uniques flag, which
removes irrelevant differences due solely to the unique numbers
assigned to names. However, I've found that diff output from that is
still hard to deal with because GHC reorders functions in the Core
output under some circumstances. I've been meaning to find the time to
try and fix this.
Thanks. Simon PJ also mentioned that (undocumented?) flag, but I
must be using it wrong, because
ghc --make -O2 Main.hs -dsuppress-uniques -ddump-simpl >simpl-slow
still gives me plenty of _labels in the output (6.9.20080514). How is
this flag supposed to be used?
I've had some success by simply doing a brute-force #s/_[^ _]*\>//g'
over the files before diffing, to remove anything that looks like a final
addon-label. That isn't quite right (__inline_me becomes __inline, etc),
but at least it helps to fold away lots of unwanted detail.
Claus
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users