Biggest problem is that gimple only works in source code to object.
Not with a stack of objects to exe.   This has major downsides for
static building.  To the point a lot of static builders end up sending
all .c files into gcc at once so they get cross object optimised.

One possible solution could be to cut gcc and gimple into to separate
parts.  So the build order of gcc binutils changes.  To gimple
binutils gcc.   Reason binutils and gcc both using the same
optimisation engine.  LD then gets the means when building exe's to
run all the gimple optimisations again looking for new dead code and
new predictable code produced across objects.

Binutils and Gcc both have to have optimisation engines.  If binutils
optimisation engine is poor it pulled gcc down with it.  Some way of
running equal quality optimisation on the linking stage has to be
found.

This problem need to be investigated.  Reason this effects everything
built with gcc and binutils.

Peter Dolding

Reply via email to