This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #211 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Elfhack is rather sensitive to LTO, but it works for me, so this seems like
binutils issue or some elfhack change that happened recently.
I wrote instructions for building firefox with LTO here
http://hubicka.blogspot.ca/2014/04/linktime-optimization-in-gcc-2-firefox.html

Here I am attaching -ftime-report after the symtab hashtable was removed
Execution times (seconds)
 phase setup             :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall 
  1536 kB ( 0%) ggc
 phase opt and generate  :  54.29 (58%) usr   1.28 (18%) sys  55.58 (50%) wall 
720779 kB (18%) ggc
 phase stream in         :  33.54 (36%) usr   1.84 (26%) sys  35.39 (32%) wall
3389310 kB (82%) ggc
 phase stream out        :   6.00 ( 6%) usr   4.02 (56%) sys  19.99 (18%) wall 
     0 kB ( 0%) ggc
 garbage collection      :   1.86 ( 2%) usr   0.00 ( 0%) sys   1.86 ( 2%) wall 
     0 kB ( 0%) ggc
 callgraph optimization  :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.24 ( 0%) wall 
     9 kB ( 0%) ggc
 ipa dead code removal   :   5.70 ( 6%) usr   0.18 ( 3%) sys   6.15 ( 6%) wall 
    92 kB ( 0%) ggc
 ipa inheritance graph   :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall 
   883 kB ( 0%) ggc
 ipa virtual call target :   5.58 ( 6%) usr   0.06 ( 1%) sys   5.32 ( 5%) wall 
     0 kB ( 0%) ggc
 ipa devirtualization    :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.20 ( 0%) wall 
  9201 kB ( 0%) ggc
 ipa cp                  :   2.34 ( 2%) usr   0.21 ( 3%) sys   2.55 ( 2%) wall 
223628 kB ( 5%) ggc
 ipa inlining heuristics :  26.97 (29%) usr   0.67 ( 9%) sys  27.66 (25%) wall 
865791 kB (21%) ggc
 ipa comdats             :   0.21 ( 0%) usr   0.00 ( 0%) sys   0.21 ( 0%) wall 
     0 kB ( 0%) ggc
 ipa lto gimple in       :   0.07 ( 0%) usr   0.11 ( 2%) sys   0.21 ( 0%) wall 
     0 kB ( 0%) ggc
 ipa lto gimple out      :   0.46 ( 0%) usr   0.19 ( 3%) sys   0.65 ( 1%) wall 
     0 kB ( 0%) ggc
 ipa lto decl in         :  24.76 (26%) usr   1.28 (18%) sys  26.08 (23%) wall
2571773 kB (63%) ggc
 ipa lto decl out        :   5.45 ( 6%) usr   0.28 ( 4%) sys   5.75 ( 5%) wall 
     0 kB ( 0%) ggc
 ipa lto cgraph I/O      :   1.13 ( 1%) usr   0.24 ( 3%) sys   1.38 ( 1%) wall 
414551 kB (10%) ggc
 ipa lto decl merge      :   2.57 ( 3%) usr   0.01 ( 0%) sys   2.58 ( 2%) wall 
  8227 kB ( 0%) ggc
 ipa lto cgraph merge    :   1.72 ( 2%) usr   0.00 ( 0%) sys   1.72 ( 2%) wall 
 12166 kB ( 0%) ggc
 whopr wpa               :   1.04 ( 1%) usr   0.00 ( 0%) sys   1.04 ( 1%) wall 
     2 kB ( 0%) ggc
 whopr wpa I/O           :   0.03 ( 0%) usr   3.55 (50%) sys  13.51 (12%) wall 
     0 kB ( 0%) ggc
 whopr partitioning      :   4.97 ( 5%) usr   0.06 ( 1%) sys   5.02 ( 5%) wall 
  3738 kB ( 0%) ggc
 ipa reference           :   3.62 ( 4%) usr   0.12 ( 2%) sys   3.75 ( 3%) wall 
     0 kB ( 0%) ggc
 ipa profile             :   0.33 ( 0%) usr   0.01 ( 0%) sys   0.33 ( 0%) wall 
     0 kB ( 0%) ggc
 ipa pure const          :   3.86 ( 4%) usr   0.01 ( 0%) sys   3.88 ( 3%) wall 
     0 kB ( 0%) ggc
 tree eh                 :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
     0 kB ( 0%) ggc
 tree CFG cleanup        :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall 
     0 kB ( 0%) ggc
 varconst                :   0.05 ( 0%) usr   0.16 ( 2%) sys   0.13 ( 0%) wall 
     0 kB ( 0%) ggc
 unaccounted todo        :   0.65 ( 1%) usr   0.00 ( 0%) sys   0.64 ( 1%) wall 
     0 kB ( 0%) ggc
 TOTAL                 :  93.84             7.14           110.98           
4111626 kB

there are some improvements in devirtualization performance that used quite few
decl->symbol lookups. (about 20%)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]