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 optimization/9805] optimisation of largish array constant containing strings takes forever(?) and consumes very large amounts of memory


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-12-02 19:03 -------
This is fixed on the mainline (20031201) at least on powerpc-apple-darwin and i686-pc-linux so 
assuming fixed.
tin:~/src/gnu/gcctest>gcc -ftime-report pr9805.cc -S

Execution times (seconds)
 garbage collection    :   0.09 (10%) usr   0.00 ( 0%) sys   0.09 ( 7%) wall
 cfg cleanup           :   0.01 ( 1%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 life analysis         :   0.02 ( 2%) usr   0.00 ( 0%) sys   0.02 ( 2%) wall
 life info update      :   0.01 ( 1%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 preprocessing         :   0.08 ( 9%) usr   0.04 (14%) sys   0.12 (10%) wall
 parser                :   0.23 (26%) usr   0.11 (39%) sys   0.34 (27%) wall
 name lookup           :   0.21 (23%) usr   0.12 (43%) sys   0.33 (26%) wall
 expand                :   0.03 ( 3%) usr   0.00 ( 0%) sys   0.03 ( 2%) wall
 varconst              :   0.03 ( 3%) usr   0.00 ( 0%) sys   0.03 ( 2%) wall
 integration           :   0.02 ( 2%) usr   0.00 ( 0%) sys   0.02 ( 2%) wall
 local alloc           :   0.02 ( 2%) usr   0.00 ( 0%) sys   0.02 ( 2%) wall
 global alloc          :   0.09 (10%) usr   0.00 ( 0%) sys   0.09 ( 7%) wall
 flow 2                :   0.01 ( 1%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 shorten branches      :   0.01 ( 1%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 final                 :   0.01 ( 1%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 rest of compilation   :   0.01 ( 1%) usr   0.01 ( 4%) sys   0.02 ( 2%) wall
 TOTAL                 :   0.90             0.28             1.25
tin:~/src/gnu/gcctest>gcc -ftime-report pr9805.cc -S -O

Execution times (seconds)
 garbage collection    :   0.10 ( 6%) usr   0.00 ( 0%) sys   0.10 ( 5%) wall
 cfg construction      :   0.04 ( 3%) usr   0.00 ( 0%) sys   0.04 ( 2%) wall
 cfg cleanup           :   0.01 ( 1%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 trivially dead code   :   0.01 ( 1%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 life analysis         :   0.11 ( 7%) usr   0.00 ( 0%) sys   0.11 ( 6%) wall
 life info update      :   0.03 ( 2%) usr   0.00 ( 0%) sys   0.03 ( 2%) wall
 alias analysis        :   0.02 ( 1%) usr   0.01 ( 4%) sys   0.03 ( 2%) wall
 preprocessing         :   0.08 ( 5%) usr   0.02 ( 8%) sys   0.10 ( 5%) wall
 parser                :   0.32 (20%) usr   0.12 (48%) sys   0.44 (22%) wall
 name lookup           :   0.15 (10%) usr   0.10 (40%) sys   0.25 (13%) wall
 expand                :   0.08 ( 5%) usr   0.00 ( 0%) sys   0.08 ( 4%) wall
 varconst              :   0.04 ( 3%) usr   0.00 ( 0%) sys   0.04 ( 2%) wall
 integration           :   0.10 ( 6%) usr   0.00 ( 0%) sys   0.10 ( 5%) wall
 CSE                   :   0.05 ( 3%) usr   0.00 ( 0%) sys   0.05 ( 3%) wall
 loop analysis         :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 branch prediction     :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 combiner              :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.06 ( 3%) wall
 if-conversion         :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 local alloc           :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 global alloc          :   0.17 (11%) usr   0.00 ( 0%) sys   0.17 ( 9%) wall
 reload CSE regs       :   0.04 ( 3%) usr   0.00 ( 0%) sys   0.04 ( 2%) wall
 flow 2                :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 if-conversion 2       :   0.01 ( 1%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 rename registers      :   0.03 ( 2%) usr   0.00 ( 0%) sys   0.03 ( 2%) wall
 shorten branches      :   0.01 ( 1%) usr   0.00 ( 0%) sys   0.01 ( 1%) wall
 final                 :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 rest of compilation   :   0.04 ( 3%) usr   0.00 ( 0%) sys   0.04 ( 2%) wall
 TOTAL                 :   1.57             0.25             1.97
tin:~/src/gnu/gcctest>gcc -ftime-report pr9805.cc -S -O3

Execution times (seconds)
 garbage collection    :   0.22 ( 9%) usr   0.00 ( 0%) sys   0.22 ( 8%) wall
 callgraph construction:   0.03 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 1%) wall
 cfg construction      :   0.03 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 1%) wall
 cfg cleanup           :   0.04 ( 2%) usr   0.00 ( 0%) sys   0.04 ( 1%) wall
 trivially dead code   :   0.05 ( 2%) usr   0.00 ( 0%) sys   0.05 ( 2%) wall
 life analysis         :   0.08 ( 3%) usr   0.00 ( 0%) sys   0.08 ( 3%) wall
 life info update      :   0.03 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 1%) wall
 alias analysis        :   0.06 ( 3%) usr   0.01 ( 4%) sys   0.07 ( 3%) wall
 register scan         :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 preprocessing         :   0.06 ( 2%) usr   0.04 (17%) sys   0.10 ( 4%) wall
 parser                :   0.42 (18%) usr   0.04 (17%) sys   0.47 (17%) wall
 name lookup           :   0.15 ( 6%) usr   0.11 (46%) sys   0.25 ( 9%) wall
 expand                :   0.12 ( 5%) usr   0.01 ( 4%) sys   0.14 ( 5%) wall
 varconst              :   0.03 ( 1%) usr   0.01 ( 4%) sys   0.04 ( 1%) wall
 integration           :   0.14 ( 6%) usr   0.00 ( 0%) sys   0.14 ( 5%) wall
 jump                  :   0.03 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 1%) wall
 CSE                   :   0.11 ( 5%) usr   0.00 ( 0%) sys   0.11 ( 4%) wall
 global CSE            :   0.10 ( 4%) usr   0.01 ( 4%) sys   0.11 ( 4%) wall
 loop analysis         :   0.03 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 1%) wall
 bypass jumps          :   0.04 ( 2%) usr   0.00 ( 0%) sys   0.04 ( 1%) wall
 web                   :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 CSE 2                 :   0.05 ( 2%) usr   0.00 ( 0%) sys   0.05 ( 2%) wall
 branch prediction     :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 combiner              :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 if-conversion         :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 regmove               :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 local alloc           :   0.03 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 1%) wall
 global alloc          :   0.11 ( 5%) usr   0.00 ( 0%) sys   0.11 ( 4%) wall
 reload CSE regs       :   0.05 ( 2%) usr   0.00 ( 0%) sys   0.05 ( 2%) wall
 flow 2                :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 if-conversion 2       :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 peephole 2            :   0.02 ( 1%) usr   0.00 ( 0%) sys   0.02 ( 1%) wall
 rename registers      :   0.05 ( 2%) usr   0.00 ( 0%) sys   0.05 ( 2%) wall
 scheduling 2          :   0.11 ( 5%) usr   0.01 ( 4%) sys   0.14 ( 5%) wall
 shorten branches      :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 final                 :   0.03 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 1%) wall
 rest of compilation   :   0.03 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 1%) wall
 TOTAL                 :   2.40             0.24             2.76

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |3.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9805


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