Daniel Franke wrote:
Hi all.
I'm in the process of revamping the fortran-frontend to use trees instead of
linked lists in its array-constructor representation (initial patch at [1]).
By now, I'm hunting down the last regressions. For one regression, I have no
idea how to deal with it.
The problem: for some reason the .o file for a small fortran program may be
blown up to multiple GB. The diff below shows the differences in assembler of
the testcase gfortran.dg/actual_array_substr_2.f90, once compiled with current
trunk, once with my local tree. The only difference is the ".zero $bignumber"
- it's not overly far fetched to link $bignumber with the object file size.
It is to assume that I either dropped a required initialization or introduced
one that should not be there. Simply reading the diff doesn't help me much as
(a) it's rather big by now and (b) whenever I identified a candidate and put a
breakpoint there, execution never actually stopped there ^^
Hints where these .zero lines are generated and why, where to put a breakpoint
and what to look for -- or anything else that puts me on the right track --
would be appreciated.
Try to get a look at the -fdump-tree-original output. This should happen long
before any asm is generated. Post it here if you are still stuck.
Regards,
Jerry