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)"