[narrowing circulation somewhat]

| 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?

Ironically, it'll work for every pass *except* the very last one, which is what 
is dumped by -ddump-simpl!

The final pass (called Core Tidy) gives each identifier a canonical name, like 
x1, x2 etc, as part of its OccName that that is printed in the .hi file, not 
just as a separate Unique embedded in the Name.

Once that is done, it's harder to suppress the "1" etc, because they are part 
of the OccName itself.

I could make -dsuppress-uniques suppress the tidying that CoreTidy does, but 
that means it'll generate utterly bogus code, with clashes of names in the .o 
files etc.  So it'd be fine for debugging *one* module, but no good if you 
wanted to compile several.

I'm not sure how best to solve this.   Meanwhile -dverbose-core2core will show 
you the other passes.

Simon

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to