It appears I get the same output wether I use `-fspec-constr` or not.

I'm afraid so.  Look in simplCore/SimplCore.lhs, function getCoreToDo.  This 
builds the main optimisation pipeline.  You'll see that it has a -O0 path and a 
-O1/-O2 path.  The flag Opt_SpecConstr is consulted only in the latter.

One could perhaps do it differently but that's the way it is right now.

I test an isolated optimisation by switching it on and off with -O1.

Simon

From: ghc-devs [mailto:[email protected]] On Behalf Of Chris Heller
Sent: 06 January 2014 02:44
To: [email protected]
Subject: Optimisation flags at -O0

I wanted to understand better what `-fspec-constr` does.

So I compiled the User Guide example with `-O0 -fspec-constr` to isolate the 
effects of call-pattern specialization, and nothing else (I used ghc-core to 
pretty-print the resulting Core syntax).

It appears I get the same output wether I use `-fspec-constr` or not.

Does this mean that compiling with `-O0` even explicitly enabled optimizations 
are turned off?

If that is the case, how does one test an isolated optimization?

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

Reply via email to