On Sunday 27 December 2009 07:09:08 Jerry DeLisle wrote: > Daniel Franke wrote: > > 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. > > 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.
I compiled the testcase in two directories and compared all dumps and the assembler output. None of the dumps differs, but the assembler does?! $ ls local/ trunk/ local/: actual_array_substr_2.f90.003t.original actual_array_substr_2.f90.012t.cfg actual_array_substr_2.f90.041t.release_ssa actual_array_substr_2.f90.004t.gimple actual_array_substr_2.f90.013t.cplxlower0 actual_array_substr_2.f90.042t.inline_param3 actual_array_substr_2.f90.005t.nested actual_array_substr_2.f90.014t.veclower actual_array_substr_2.f90.139t.optimized actual_array_substr_2.f90.006t.vcg actual_array_substr_2.f90.015t.inline_param1 actual_array_substr_2.f90.218t.statistics actual_array_substr_2.f90.008t.omplower actual_array_substr_2.f90.022t.cleanup_cfg actual_array_substr_2.s actual_array_substr_2.f90.009t.lower actual_array_substr_2.f90.024t.ssa actual_array_substr_2.f90.011t.eh actual_array_substr_2.f90.025t.einline2 trunk/: actual_array_substr_2.f90.003t.original actual_array_substr_2.f90.012t.cfg actual_array_substr_2.f90.041t.release_ssa actual_array_substr_2.f90.004t.gimple actual_array_substr_2.f90.013t.cplxlower0 actual_array_substr_2.f90.042t.inline_param3 actual_array_substr_2.f90.005t.nested actual_array_substr_2.f90.014t.veclower actual_array_substr_2.f90.139t.optimized actual_array_substr_2.f90.006t.vcg actual_array_substr_2.f90.015t.inline_param1 actual_array_substr_2.f90.218t.statistics actual_array_substr_2.f90.008t.omplower actual_array_substr_2.f90.022t.cleanup_cfg actual_array_substr_2.s actual_array_substr_2.f90.009t.lower actual_array_substr_2.f90.024t.ssa actual_array_substr_2.f90.011t.eh actual_array_substr_2.f90.025t.einline2 $> diff -ur trunk/ local/ diff -ur trunk/actual_array_substr_2.s local/actual_array_substr_2.s --- trunk/actual_array_substr_2.s 2009-12-27 16:30:24.000000000 +0100 +++ local/actual_array_substr_2.s 2009-12-27 16:29:27.000000000 +0100 @@ -871,7 +871,9 @@ .type teststring.1574, @object .size teststring.1574, 24 teststring.1574: + .zero 12 .ascii "abc def ghij" + .zero 1908465300 .ascii "klm nop qrst" .align 4 .type m.1571, @object @@ -903,7 +905,9 @@ .type foostring.1518, @object .size foostring.1518, 24 foostring.1518: + .zero 12 .ascii "0123456789#$" + .zero 1908502548 .ascii "$#9876543210" - .ident "GCC: (GNU) 4.5.0 20091226 (experimental)" + .ident "GCC: (GNU) 4.5.0 20091217 (experimental)"