Dear all,
I was hoping if somebody could tell me where to find
information about the different kinds of optimisations
carried out by gcc. I've read the user guide but it only
says thing like: you can set tresholds and this will
affect both codesize and speed. No information is
provided as to what's really going on.
In particular I am interested in knowing if it is
possible to force certain unfolding optimisations so
that they are always carried out.
In particular I want to be able to do something like
the following:
{-# Magic Pragma Here #-}
f (A a) = g a
f (B b) = g b
so that usages of the form:
h a@(A i) (A _) = f a
h (A _) b@(B j) = f b
h _ b = f b
will *always* be translated into:
h (A i) (A _) = g i
h (A _) (B j) = g j
h _ b = f b
or something similar.
Thanks in advance.
Regards,
Marc van Dongen