public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow
@ 2004-06-29 14:08 amylaar at gcc dot gnu dot org
  2004-06-29 14:34 ` [Bug regression/16266] [3.5 regression] " pinskia at gcc dot gnu dot org
                   ` (24 more replies)
  0 siblings, 25 replies; 27+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2004-06-29 14:08 UTC (permalink / raw)
  To: gcc-bugs

gcc 3.5 takes some 33 times as long to compile gcc.dg/c99-intconst-1.c as gcc
3.4 does.  Although we have checking enabled, I think a factor of 33 is
excessive.  The test sometimes times out depending on the load of the machine.

bash-2.05$ time /swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/cc1 -v -iprefix
/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.4.1/ -isystem
/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/include -DSTACK_SIZE=16384 -isystem
/swbuild/nightly/3.4-2004-06-28/sh-elf/sh-elf/./newlib/targ-include -isystem
/swbuild/nightly/3.4-2004-06-28/srcw/newlib/libc/include
/swbuild/nightly/3.4-2004-06-28/srcw/gcc/testsuite/gcc.dg/c99-intconst-1.c 
-dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pedantic-errors
-std=iso9899:1999 -version -o c99-intconst-1.s
ignoring nonexistent directory
"/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.4.1/include"
ignoring nonexistent directory
"/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.4.1/../../../../sh-elf/sys-include"
ignoring nonexistent directory
"/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.4.1/../../../../sh-elf/include"
ignoring nonexistent directory "/usr/local/lib/gcc/sh-elf/3.4.1/include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/sys-include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/include"
#include "..." search starts here:
#include <...> search starts here:
 /swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/include
 /swbuild/nightly/3.4-2004-06-28/sh-elf/sh-elf/./newlib/targ-include
 /swbuild/nightly/3.4-2004-06-28/srcw/newlib/libc/include
End of search list.
GNU C version 3.4.1 20040628 (prerelease) (sh-elf)
        compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
options passed:  -v -iprefix -isystem -DSTACK_SIZE=16384 -isystem -isystem
 -auxbase-strip -pedantic-errors -std=iso9899:1999
options enabled:  -feliminate-unused-debug-types -fpeephole -ffunction-cse
 -fkeep-static-consts -freg-struct-return -fgcse-lm -fgcse-sm -fgcse-las
 -fsched-interblock -fsched-spec -fsched-stalled-insns
 -fsched-stalled-insns-dep -fbranch-count-reg -fcommon -fargument-alias
 -fzero-initialized-in-bss -fident -fmath-errno -ftrapping-math -m1
 foo

Execution times (seconds)
 cfg construction      :   0.06 ( 1%) usr   0.01 ( 1%) sys   0.07 ( 1%) wall
 cfg cleanup           :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 trivially dead code   :   0.04 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 life analysis         :   0.13 ( 2%) usr   0.00 ( 0%) sys   0.14 ( 2%) wall
 life info update      :   0.07 ( 1%) usr   0.00 ( 0%) sys   0.07 ( 1%) wall
 register scan         :   0.05 ( 1%) usr   0.00 ( 0%) sys   0.06 ( 1%) wall
 rebuild jump labels   :   0.05 ( 1%) usr   0.00 ( 0%) sys   0.04 ( 1%) wall
 preprocessing         :   0.92 (13%) usr   0.21 (24%) sys   1.07 (14%) wall
 lexical analysis      :   0.86 (12%) usr   0.33 (37%) sys   1.15 (15%) wall
 parser                :   1.83 (27%) usr   0.26 (30%) sys   2.17 (28%) wall
 expand                :   0.41 ( 6%) usr   0.01 ( 1%) sys   0.43 ( 6%) wall
 jump                  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 flow analysis         :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 local alloc           :   0.82 (12%) usr   0.01 ( 1%) sys   0.83 (11%) wall
 global alloc          :   0.56 ( 8%) usr   0.02 ( 2%) sys   0.58 ( 7%) wall
 flow 2                :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 machine dep reorg     :   0.16 ( 2%) usr   0.01 ( 1%) sys   0.18 ( 2%) wall
 shorten branches      :   0.16 ( 2%) usr   0.00 ( 0%) sys   0.16 ( 2%) wall
 final                 :   0.23 ( 3%) usr   0.01 ( 1%) sys   0.24 ( 3%) wall
 rest of compilation   :   0.44 ( 6%) usr   0.00 ( 0%) sys   0.43 ( 6%) wall
 TOTAL                 :   6.88             0.88             7.75

real    0m7.775s
user    0m6.880s
sys     0m0.900s

bash-2.05$ time /swbuild/nightly/2004-06-28/sh-elf/gcc/cc1  -v -iprefix /swbuild
/nightly/2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.5.0/ -isystem /swbuild/nightl
y/2004-06-28/sh-elf/gcc/include -DSTACK_SIZE=16384 -isystem /swbuild/nightly/200
4-06-28/sh-elf/sh-elf/./newlib/targ-include -isystem /swbuild/nightly/2004-06-28
/srcw/newlib/libc/include /swbuild/nightly/2004-06-28/srcw/gcc/testsuite/gcc.dg/
c99-intconst-1.c  -dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pe
dantic-errors -std=iso9899:1999 -version -o c99-intconst-1.s
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/sys-include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/include"
ignoring nonexistent directory "/usr/local/lib/gcc/sh-elf/3.5.0/include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/sys-include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/include"
#include "..." search starts here:
#include <...> search starts here:
 /swbuild/nightly/2004-06-28/sh-elf/gcc/include
 /swbuild/nightly/2004-06-28/sh-elf/sh-elf/./newlib/targ-include
 /swbuild/nightly/2004-06-28/srcw/newlib/libc/include
End of search list.
GNU C version 3.5.0 20040628 (experimental) (sh-elf)
        compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
options passed:  -v -iprefix -isystem -DSTACK_SIZE=16384 -isystem -isystem
 -auxbase-strip -pedantic-errors -std=iso9899:1999
options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
 -fcommon -feliminate-unused-debug-types -ffunction-cse -fgcse-las
 -fgcse-lm -fgcse-sm -fident -fkeep-static-consts -fleading-underscore
 -floop-optimize2 -fmath-errno -fpeephole -freg-struct-return
 -fsched-interblock -fsched-spec -fsched-stalled-insns-dep -fvar-tracking
 -fweb -fzero-initialized-in-bss -m1
 foo
 {GC 75894k -> 35085k} {GC 56742k -> 45092k}
Execution times (seconds)
 garbage collection    :   0.91 ( 0%) usr   0.02 ( 1%) sys   0.94 ( 0%) wall
 CFG verifier          :   0.61 ( 0%) usr   0.01 ( 1%) sys   0.59 ( 0%) wall
 trivially dead code   :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall
 life analysis         :   0.34 ( 0%) usr   0.00 ( 0%) sys   0.34 ( 0%) wall
 life info update      :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall
 register scan         :   0.15 ( 0%) usr   0.01 ( 1%) sys   0.16 ( 0%) wall
 rebuild jump labels   :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall
 preprocessing         :   1.07 ( 0%) usr   0.16 ( 9%) sys   1.27 ( 0%) wall
 lexical analysis      :   0.86 ( 0%) usr   0.30 (16%) sys   1.30 ( 1%) wall
 parser                :   2.55 ( 1%) usr   0.23 (13%) sys   2.59 ( 1%) wall
 tree gimplify         :   0.37 ( 0%) usr   0.01 ( 1%) sys   0.37 ( 0%) wall
 tree eh               :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 tree CFG construction :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 tree STMT verifier    :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 expand                : 111.13 (44%) usr   0.04 ( 2%) sys 111.31 (44%) wall
 jump                  :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall
 flow analysis         :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall
 local alloc           :   2.60 ( 1%) usr   0.06 ( 3%) sys   2.65 ( 1%) wall
 global alloc          : 128.69 (51%) usr   0.74 (40%) sys 129.52 (51%) wall
 flow 2                :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall
 machine dep reorg     :   1.02 ( 0%) usr   0.00 ( 0%) sys   1.02 ( 0%) wall
 shorten branches      :   0.50 ( 0%) usr   0.01 ( 1%) sys   0.51 ( 0%) wall
 final                 :   0.69 ( 0%) usr   0.22 (12%) sys   0.94 ( 0%) wall
 symout                :   0.00 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 rest of compilation   :   0.85 ( 0%) usr   0.01 ( 1%) sys   0.85 ( 0%) wall
 TOTAL                 : 252.87             1.83           254.94
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.

real    4m15.094s
user    4m12.870s
sys     0m1.860s

bash-2.05$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 6
model name      : AMD Athlon(tm) MP Processor 1600+
stepping        : 2
cpu MHz         : 1400.044
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips        : 2791.83

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 6
model name      : AMD Athlon(tm) Processor
stepping        : 2
cpu MHz         : 1400.044
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips        : 2798.38

-- 
           Summary: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is
                    very slow
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Keywords: compile-time-hog
          Severity: normal
          Priority: P2
         Component: regression
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: amylaar at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: sh-unknown-elf


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug regression/16266] [3.5 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
@ 2004-06-29 14:34 ` pinskia at gcc dot gnu dot org
  2004-06-29 14:39 ` reichelt at gcc dot gnu dot org
                   ` (23 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-29 14:34 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-06-29 14:26 -------
Can you try to pin point the patch which caused this?

(as a side note you can start with:
2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

        * Makefile.in (gimplify.o): Add cgraph.h.
        * alias.c (adjust_offset_for_component_ref): Use
        component_ref_field_offset.
        * c-decl.c (build_array_declarator): Add news args for ARRAY_REF.
        * c-gimplify.c (gimplify_expr_stmt): Use alloc_stmt_list.
        (gimplify_decl_stmt): Call gimplify_type_sizes for type.
        For decl, call gimplify_one_sizepos and use statement list.
        (gimplify_compound_literal_expr): New arg PRE_P.
        Add statement to PRE_P list and return DECL.
        (c_gimplify_expr, case COMPOUND_LITERAL_EXPR): Add arg to
        gimplify_compound_literal_expr.
        * c-tree.h (getdecls): Deleted.
.....


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|3.5 regression: gcc.dg/c99- |[3.5 regression] gcc.dg/c99-
                   |intconst-1.c compilation is |intconst-1.c compilation is
                   |very slow                   |very slow
   Target Milestone|---                         |3.5.0


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug regression/16266] [3.5 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
  2004-06-29 14:34 ` [Bug regression/16266] [3.5 regression] " pinskia at gcc dot gnu dot org
@ 2004-06-29 14:39 ` reichelt at gcc dot gnu dot org
  2004-06-29 16:06 ` joern dot rennecke at superh dot com
                   ` (22 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-06-29 14:39 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2004-06-29 14:38 -------
Maybe the 3.5 version is using wrong parameters for the garbage collection.
3.4 uses: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
3.5 uses: --param ggc-min-expand=30 --param ggc-min-heapsize=4096

Could you test 3.5 with the same parameters as 3.4?

There was some discussion of this topic on the gcc mailing list,
but I cannot find the thread. :-(


-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug regression/16266] [3.5 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
  2004-06-29 14:34 ` [Bug regression/16266] [3.5 regression] " pinskia at gcc dot gnu dot org
  2004-06-29 14:39 ` reichelt at gcc dot gnu dot org
@ 2004-06-29 16:06 ` joern dot rennecke at superh dot com
  2004-06-29 17:05 ` joern dot rennecke at superh dot com
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: joern dot rennecke at superh dot com @ 2004-06-29 16:06 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From joern dot rennecke at superh dot com  2004-06-29 16:05 -------
Subject: Re:  [3.5 regression] gcc.dg/c99-intconst-1.c compilation is very slow

> 
> 
> ------- Additional Comments From reichelt at gcc dot gnu dot org  2004-06-29 14:38 -------
> Maybe the 3.5 version is using wrong parameters for the garbage collection.
> 3.4 uses: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
> 3.5 uses: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
> 
> Could you test 3.5 with the same parameters as 3.4?

That doesn't seem to make any noticable difference:

bash-2.05$ time /swbuild/nightly/2004-06-28/sh-elf/gcc/cc1  -v -iprefix /swbuild
/nightly/2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.5.0/ -isystem /swbuild/nightl
y/2004-06-28/sh-elf/gcc/include -DSTACK_SIZE=16384 -isystem /swbuild/nightly/200
4-06-28/sh-elf/sh-elf/./newlib/targ-include -isystem /swbuild/nightly/2004-06-28
/srcw/newlib/libc/include /swbuild/nightly/2004-06-28/srcw/gcc/testsuite/gcc.dg/
c99-intconst-1.c  -dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pe
dantic-errors -std=iso9899:1999 -version -o c99-intconst-1.s --param ggc-min-exp
and=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/sys-include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/include"
ignoring nonexistent directory "/usr/local/lib/gcc/sh-elf/3.5.0/include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/sys-include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/include"
#include "..." search starts here:
#include <...> search starts here:
 /swbuild/nightly/2004-06-28/sh-elf/gcc/include
 /swbuild/nightly/2004-06-28/sh-elf/sh-elf/./newlib/targ-include
 /swbuild/nightly/2004-06-28/srcw/newlib/libc/include
End of search list.
GNU C version 3.5.0 20040628 (experimental) (sh-elf)
        compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
options passed:  -v -iprefix -isystem -DSTACK_SIZE=16384 -isystem -isystem
 -auxbase-strip -pedantic-errors -std=iso9899:1999 --param --param
options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
 -fcommon -feliminate-unused-debug-types -ffunction-cse -fgcse-las
 -fgcse-lm -fgcse-sm -fident -fkeep-static-consts -fleading-underscore
 -floop-optimize2 -fmath-errno -fpeephole -freg-struct-return
 -fsched-interblock -fsched-spec -fsched-stalled-insns-dep -fvar-tracking
 -fweb -fzero-initialized-in-bss -m1
 foo

Execution times (seconds)
 CFG verifier          :   0.59 ( 0%) usr   0.00 ( 0%) sys   0.58 ( 0%) wall
 trivially dead code   :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall
 life analysis         :   0.31 ( 0%) usr   0.03 ( 1%) sys   0.34 ( 0%) wall
 life info update      :   0.15 ( 0%) usr   0.00 ( 0%) sys   0.15 ( 0%) wall
 register scan         :   0.14 ( 0%) usr   0.01 ( 0%) sys   0.15 ( 0%) wall
 rebuild jump labels   :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall
 preprocessing         :   1.19 ( 0%) usr   0.14 ( 5%) sys   1.25 ( 0%) wall
 lexical analysis      :   0.86 ( 0%) usr   0.41 (15%) sys   1.17 ( 0%) wall
 parser                :   2.29 ( 1%) usr   0.29 (11%) sys   2.74 ( 1%) wall
 tree gimplify         :   0.37 ( 0%) usr   0.01 ( 0%) sys   0.37 ( 0%) wall
 tree eh               :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 tree CFG construction :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 tree STMT verifier    :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 expand                : 112.18 (44%) usr   0.15 ( 6%) sys 112.52 (44%) wall
 jump                  :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 flow analysis         :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall
 local alloc           :   2.58 ( 1%) usr   0.04 ( 1%) sys   2.60 ( 1%) wall
 global alloc          : 128.85 (51%) usr   0.65 (24%) sys 129.50 (51%) wall
 flow 2                :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 machine dep reorg     :   1.03 ( 0%) usr   0.01 ( 0%) sys   1.05 ( 0%) wall
 shorten branches      :   0.50 ( 0%) usr   0.00 ( 0%) sys   0.50 ( 0%) wall
 final                 :   0.67 ( 0%) usr   0.93 (35%) sys   1.71 ( 1%) wall
 symout                :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 rest of compilation   :   0.83 ( 0%) usr   0.00 ( 0%) sys   0.84 ( 0%) wall
 TOTAL                 : 252.92             2.67           255.87
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.

real    4m15.363s
user    4m12.920s
sys     0m2.690s


-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug regression/16266] [3.5 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2004-06-29 16:06 ` joern dot rennecke at superh dot com
@ 2004-06-29 17:05 ` joern dot rennecke at superh dot com
  2004-08-15  3:30 ` [Bug middle-end/16266] " pinskia at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: joern dot rennecke at superh dot com @ 2004-06-29 17:05 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From joern dot rennecke at superh dot com  2004-06-29 17:03 -------
Subject: Re:  [3.5 regression] gcc.dg/c99-intconst-1.c compilation is very slow

> 
> 
> ------- Additional Comments From pinskia at gcc dot gnu dot org  2004-06-29 14:26 -------
> Can you try to pin point the patch which caused this?

It appears to be the tree-ssa merge:

bash-2.05$ time /swbuild/nightly/2004-05-12/sh-elf/gcc/cc1  -v -iprefix /swbuild
/nightly/2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.5.0/ -isystem /swbuild/nightl
y/2004-06-28/sh-elf/gcc/include -DSTACK_SIZE=16384 -isystem /swbuild/nightly/200
4-06-28/sh-elf/sh-elf/./newlib/targ-include -isystem /swbuild/nightly/2004-06-28
/srcw/newlib/libc/include /swbuild/nightly/2004-06-28/srcw/gcc/testsuite/gcc.dg/
c99-intconst-1.c  -dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pe
dantic-errors -std=iso9899:1999 -version -o c99-intconst-1.s --param ggc-min-exp
and=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/sys-include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/include"
ignoring nonexistent directory "/usr/local/lib/gcc/sh-elf/3.5.0/include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/sys-include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/include"
#include "..." search starts here:
#include <...> search starts here:
 /swbuild/nightly/2004-06-28/sh-elf/gcc/include
 /swbuild/nightly/2004-06-28/sh-elf/sh-elf/./newlib/targ-include
 /swbuild/nightly/2004-06-28/srcw/newlib/libc/include
End of search list.
GNU C version 3.5.0 20040512 (experimental) (sh-elf)
        compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
options passed:  -v -iprefix -isystem -DSTACK_SIZE=16384 -isystem -isystem
 -auxbase-strip -pedantic-errors -std=iso9899:1999 --param --param
options enabled:  -feliminate-unused-debug-types -fpeephole -ffunction-cse
 -fkeep-static-consts -freg-struct-return -fgcse-lm -fgcse-sm -fgcse-las
 -fsched-interblock -fsched-spec -fsched-stalled-insns
 -fsched-stalled-insns-dep -fbranch-count-reg -fcommon -fargument-alias
 -fzero-initialized-in-bss -fident -fmath-errno -ftrapping-math -m1
 foo

Execution times (seconds)
 cfg construction      :   0.08 ( 1%) usr   0.00 ( 0%) sys   0.09 ( 1%) wall
 cfg cleanup           :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 CFG verifier          :   0.23 ( 3%) usr   0.00 ( 0%) sys   0.23 ( 3%) wall
 trivially dead code   :   0.04 ( 1%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 life analysis         :   0.11 ( 1%) usr   0.00 ( 0%) sys   0.12 ( 1%) wall
 life info update      :   0.06 ( 1%) usr   0.00 ( 0%) sys   0.05 ( 1%) wall
 register scan         :   0.04 ( 1%) usr   0.01 ( 1%) sys   0.06 ( 1%) wall
 rebuild jump labels   :   0.05 ( 1%) usr   0.00 ( 0%) sys   0.05 ( 1%) wall
 preprocessing         :   0.91 (11%) usr   0.11 (14%) sys   1.20 (14%) wall
 lexical analysis      :   0.83 (10%) usr   0.38 (47%) sys   1.27 (14%) wall
 parser                :   2.58 (32%) usr   0.24 (30%) sys   2.58 (29%) wall
 expand                :   0.51 ( 6%) usr   0.00 ( 0%) sys   0.52 ( 6%) wall
 jump                  :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 flow analysis         :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 local alloc           :   0.85 (11%) usr   0.02 ( 2%) sys   0.86 (10%) wall
 global alloc          :   0.55 ( 7%) usr   0.03 ( 4%) sys   0.58 ( 7%) wall
 flow 2                :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 machine dep reorg     :   0.20 ( 3%) usr   0.00 ( 0%) sys   0.19 ( 2%) wall
 shorten branches      :   0.16 ( 2%) usr   0.00 ( 0%) sys   0.16 ( 2%) wall
 final                 :   0.23 ( 3%) usr   0.01 ( 1%) sys   0.24 ( 3%) wall
 rest of compilation   :   0.40 ( 5%) usr   0.01 ( 1%) sys   0.44 ( 5%) wall
 TOTAL                 :   7.94             0.81             8.77
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.

real    0m8.792s
user    0m7.940s
sys     0m0.830s
bash-2.05$ time /swbuild/nightly/2004-05-13/sh-elf/gcc/cc1  -v -iprefix /swbuild
/nightly/2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.5.0/ -isystem /swbuild/nightl
y/2004-06-28/sh-elf/gcc/include -DSTACK_SIZE=16384 -isystem /swbuild/nightly/200
4-06-28/sh-elf/sh-elf/./newlib/targ-include -isystem /swbuild/nightly/2004-06-28
/srcw/newlib/libc/include /swbuild/nightly/2004-06-28/srcw/gcc/testsuite/gcc.dg/
c99-intconst-1.c  -dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pe
dantic-errors -std=iso9899:1999 -version -o c99-intconst-1.s --param ggc-min-exp
and=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/sys-include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/include"
ignoring nonexistent directory "/usr/local/lib/gcc/sh-elf/3.5.0/include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/sys-include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/include"
#include "..." search starts here:
#include <...> search starts here:
 /swbuild/nightly/2004-06-28/sh-elf/gcc/include
 /swbuild/nightly/2004-06-28/sh-elf/sh-elf/./newlib/targ-include
 /swbuild/nightly/2004-06-28/srcw/newlib/libc/include
End of search list.
GNU C version 3.5.0 20040513 (experimental) (sh-elf)
        compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
options passed:  -v -iprefix -isystem -DSTACK_SIZE=16384 -isystem -isystem
 -auxbase-strip -pedantic-errors -std=iso9899:1999 --param --param
options enabled:  -feliminate-unused-debug-types -fpeephole -ffunction-cse
 -fkeep-static-consts -freg-struct-return -fgcse-lm -fgcse-sm -fgcse-las
 -fsched-interblock -fsched-spec -fsched-stalled-insns
 -fsched-stalled-insns-dep -fbranch-count-reg -fcommon -fargument-alias
 -fzero-initialized-in-bss -fident -fmath-errno -ftrapping-math -m1
 foo

Execution times (seconds)
 cfg construction      :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall
 CFG verifier          :   0.56 ( 0%) usr   0.01 ( 0%) sys   0.57 ( 0%) wall
 trivially dead code   :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall
 life analysis         :   0.33 ( 0%) usr   0.00 ( 0%) sys   0.35 ( 0%) wall
 life info update      :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall
 register scan         :   0.14 ( 0%) usr   0.01 ( 0%) sys   0.15 ( 0%) wall
 rebuild jump labels   :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall
 preprocessing         :   1.08 ( 0%) usr   0.19 ( 3%) sys   1.19 ( 0%) wall
 lexical analysis      :   0.92 ( 0%) usr   0.45 ( 8%) sys   1.24 ( 0%) wall
 parser                :   2.40 ( 0%) usr   0.20 ( 3%) sys   2.84 ( 1%) wall
 tree gimplify         :   0.66 ( 0%) usr   0.02 ( 0%) sys   0.68 ( 0%) wall
 tree eh               :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 expand                : 393.19 (79%) usr   2.55 (43%) sys 396.13 (78%) wall
 jump                  :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall
 flow analysis         :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall
 local alloc           :   2.45 ( 0%) usr   0.08 ( 1%) sys   2.53 ( 0%) wall
 global alloc          :  94.88 (19%) usr   1.52 (25%) sys  97.72 (19%) wall
 flow 2                :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 machine dep reorg     :   1.02 ( 0%) usr   0.06 ( 1%) sys   1.07 ( 0%) wall
 shorten branches      :   0.51 ( 0%) usr   0.00 ( 0%) sys   0.50 ( 0%) wall
 final                 :   0.73 ( 0%) usr   0.90 (15%) sys   1.65 ( 0%) wall
 symout                :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 rest of compilation   :   0.83 ( 0%) usr   0.00 ( 0%) sys   0.86 ( 0%) wall
 TOTAL                 : 500.36             5.99           508.14
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.

real    8m28.328s
user    8m20.360s
sys     0m6.060s


bash-2.05$ diff /swbuild/nightly/2004-05-1[23]/srcw/gcc/ChangeLog
0a1,1176
> 2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
> 
> 	* final.c (shorten_branches): Free uid_shuid before
> 	reallocating it.
> 
> 	* bb-reoder.c (connect_traces): Free cold_traces at the end.
> 
> 2004-05-13  Jeff Law  <law@redhat.com>
> 
> 	* tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
> 	new parameters for the statement and variable worklist as well
> 	as a bitmap of interesting SSA_NAMEs.  Walk over the statement
> 	worklist recording interesting variables in the variable worklist
> 	and bitmap.  Handle casts between integral and boolean types.
> 	(substitute_single_use_vars): Accept new parameters for the statement
> 	and variable worklist.  When a substitution is made add a new
> 	entry to the statement worklist.  Handle casts between integral
> 	and boolean types.
> 	(tree_ssa_forward_propagate_single_use_vars): Rework to pass
> 	worklists to children.  Iterate until the statement worklist
> 	is empty.
> 
> 2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
> 
> 	* tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at
> 	the end of the block.
> 
> 	* tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated
> 	with BITMAP_XMALLOC.
> 
> 	* tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated
> 	with BITMAP_XMALLOC.
> 
> 	* tree-ssa-dom.c (tree_ssa_dominator_optimize):
> 	Free nonzero_vars at the end of the function.
> 
> 	* convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a
> 	need to generate code instead of a NOP_EXPR.
> 
> 2004-05-13  Ian Lance Taylor  <ian@wasabisystems.com>
> 
> 	* gcc.c (default_compilers): Fill out initializers for new Fortran
> 	entries.
> 
> 2004-05-13  Paul Brook  <paul@codesourcery.com>
> 
> 	* config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define.
> 
> 2004-05-13  Paul Brook  <paul@codesourcery.com>
> 
> 	* config/arm/arm.c (arm_default_short_enums): New function.
> 	(TARGET_DEFAULT_SHORT_ENUMS): Define.
> 
> 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
> 
> 	Merge from tree-ssa-20020619-branch.
> 
> 	* Makefile.in (reload1.o-warn): Add.
> 	(tree-alias-ander.o-warn): Add.
> 	(GMPLIBS): Define.
> 	(GMPINC): Define.
> 	(BANSHEELIB): Define.
> 	(BANSHEEINC): Define.
> 	(TREE_DUMP_H): Define.
> 	(TREE_SIMPLE_H): Define.
> 	(TREE_FLOW_H): Define.
> 	(LIBDEPS): Add BANSHEELIB.
> 	(INCLUDES): Add BANSHEEINC and GMPINC.
> 	(C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o,
> 	c-mudflap.o and c-pretty-print.o.
> 	(C_OBJS): Remove c-pretty-print.o.
> 	(OBJS-common): Remove sibcall.o.
> 	Add tree-cfg.o, tree-dfa.o, tree-eh.o,
> 	tree-ssa.o, tree-optimize.o, tree-simple.o,
> 	tree-alias-type.o, gimplify.o, tree-pretty-print.o,
> 	tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o,
> 	tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o,
> 	tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
> 	tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o,
> 	tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o,
> 	tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o,
> 	tree-tailcall.o, gimple-low.o, tree-iterator.o,
> 	tree-phinodes.o, tree-ssanames.o, tree-sra.o,
> 	tree-complex.o, tree-ssa-loop.o, rtl-profile.o and
> 	tree-profile.o.
> 	(OBJC-archive): Add tree-nomudflap.o.
> 	(cc1): Add dependency on @TREEBROWSER@.
> 	(c-decl.o): Add dependency on TREE_DUMP_H.
> 	(c-dump.o): Likewise.
> 	(c-common.o): Add dependency on tree-iterator.h
> 	(c-pretty-print.o): Add dependency on DIAGNOSTIC_H.
> 	(gtype-desc.o): Add dependency on TREE_FLOW_H.
> 	(tree.o): Add dependency on tree-iterator.h,
> 	BASIC_BLOCK_H and TREE_FLOW_H.
> 	(tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h.
> 	(langhooks.o): Add dependency on TREE_SIMPLE_H.
> 	(tree-alias-type.o, tree-alias-ander.o,
> 	tree-alias-common.o, tree-ssa.o, tree-into-ssa.o,
> 	tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o,
> 	tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o,
> 	tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o,
> 	domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o,
> 	tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o,
> 	tree-nested.o, tree-iterator.o, tree-dfa.o,
> 	tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o,
> 	tree-ssa-alias.o, tree-optimize.o, c-simplify.o,
> 	gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o,
> 	tree-mudflap.o, c-mudflap.o, tree-nomudflap.o,
> 	tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o,
> 	tree-sra.o, tree-complex.o, tree-profile.o,
> 	rtl-profile.o): New rules.
> 	(function.o): Add dependency on basic-block.h
> 	(expr.o): Add dependency on tree-iterator.h.
> 	(sibcall.o): Remove.
> 	(profile.o): Depend on TREE_FLOW_H instead of TREE_H.
> 	(cfg.o): Add dependency on TIMEVAR_H.
> 	(cfghooks.o): Add dependency on TREE_FLOW_H.
> 	(reg-stack.o): Add dependency on basic-block.h.
> 	(GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h,
> 	c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c,
> 	tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c,
> 	tree-ssa-ccp.c, tree-iterator.c, gimplify.c,
> 	tree-alias-type.h, tree-alias-common.h,
> 	tree-alias-type.c, tree-alias-common.c,
> 	tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c,
> 	rtl-profile.c and tree-nested.c.
> 	(gt-tree-alias-common.h, gt-tree-mudflap.h,
> 	gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h,
> 	gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h,
> 	gt-tree-cfg.h, gt-tree-nested.h): New rules.
> 	(TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi.
> 	* basic-block.h: Include predict.h
> 	(struct edge_def): Add GTY marker.
> 	Change field 'insns' to be a union of tree and rtx.
> 	(EDGE_TRUE_VALUE): Define.
> 	(EDGE_FALSE_VALUE): Define.
> 	(EDGE_EXECUTABLE): Define.
> 	(struct bb_ann_d): Forward declare.
> 	(struct basic_block_def): Add GTY marker.
> 	Remove fields head_tree and end_tree.
> 	Add fields stmt_list, rbi and tree_annotations.
> 	(struct reorder_block_def): Define.
> 	(basic_block_info): Add GTY marker.
> 	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global
> 	variables instead of macros.
> 	(flow_call_edges_add): Remove declaration.
> 	(make_eh_edge): Remove declaration.
> 	(brief_dump_cfg, find_edge, tree_predicted_by_p,
> 	rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge,
> 	predict_edge_def, rtl_make_eh_edge, find_basic_blocks,
> 	cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks,
> 	alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare.
> 	(try_redirect_by_replacing_jump): Modfiy return type to
> 	edge instead of bool.
> 	* bb-reorder.c (copy_bb): Call duplicate_block
> 	instead of cfg_layout_duplicate_bb.
> 	(copy_bb_p): Call can_duplicate_block_p instead of
> 	cfg_layout_can_duplicate_bb_p.
> 	* bitmap.c (bitmap_first_set_bit): Abort if word
> 	wasn't found.
> 	(bitmap_last_set_bit): Likewise.
> 	* builtin-types.def (DEF_FUNCTION_TYPE_2): Add
> 	(DEF_FUNCTION_TYPE_3): Add.
> 	* builtins.c (c_strlen): Make extern.
> 	(builtin_save_expr): New.
> 	(expand_builtin_nonlocal_goto): New.
> 	(expand_builtin_constant_p): Remove.
> 	(expand_builtin_mathfn): Call builtin_save_expr instead
> 	of save_expr.
> 	(expand_builtin_mathfn_2): Likewise.
> 	(expand_builtin_strcmp): Likewise.
> 	(expand_builtin_strncmp): Likewise.
> 	(expand_builtin_strcat): Likewise.
> 	(fold_builtin_cabs): Likewise.
> 	(expand_builtin_alloca): Don't trigger if -fmudflap is
> 	given.
> 	(build_string_literal): Set TREE_INVARIANT on new node.
> 	(expand_builtin_profile_fun): New.
> 	(round_trampoline_addr): New.
> 	(expand_builtin_init_trampoline): New.
> 	(expand_builtin_adjust_trampoline): New.
> 	(expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg.
> 	<BUILT_IN_CONSTANT_P>: Return const0_rtx;
> 	<BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE,
> 	BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO,
> 	BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT,
> 	BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>:
> 	Handle.
> 	(fold_builtin_expect): New.
> 	(fold_builtin_isascii): Don't return non-constant results
> 	in GIMPLE form.
> 	(fold_builtin_isdigit): Likewise.
> 	(fold_builtin_1): New.
> 	(fold_builtin): Call it.
> 	(build_function_call_expr): Update call to build a new
> 	CALL_EXPR.
> 	(purge_builtin_constant_p): Remove.
> 	(simplify_builtin, simplify_builtin_memcmp,
> 	simplify_builtin_strcmp, simplify_builtin_strncmp,
> 	simplify_builtin_strpbrk, simplify_builtin_strstr,
> 	simplify_builtin_strchr, simplify_builtin_strrchr,
> 	simplify_builtin_strcat, simplify_builtin_strncat,
> 	simplify_builtin_strspn, simplify_builtin_strcspn,
> 	simplify_builtin_next_arg, simplify_builtin_va_start,
> 	simplify_builtin_sprintf): New.
> 	* builtins.def (BUILT_IN_STACK_ALLOC,
> 	BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE,
> 	BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE,
> 	BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER,
> 	BUILT_IN_PROFILE_FUNC_EXIT): Define.
> 	* c-common.c: Include tree-iterator.h and hashtab.h.
> 	(lang_statement_code_p): Declare.
> 	(lang_gimplify_stmt): Declare.
> 	(fix_string_type): Set TREE_INVARIANT for value.
> 	(pointer_int_sum): Rely on build to set TREE_CONSTANT.
> 	(c_type_hash): New.
> 	(c_common_get_alias_set): Handle multiple type nodes
> 	referring to "the same" type, currently for C90 only.
> 	(c_add_case_label): Use create_artificial_label.
> 	(finish_label_address_expr): Don't set TREE_CONSTANT on
> 	result.
> 	(c_expand_expr): Don't handle STMT_EXPR.
> 	(handle_alias_attribute): Marke aliased variables to be
> 	TREE_STATIC.
> 	(handle_nonnull_attribute): Initialize arg_num.
> 	(check_function_nonnull): Likewise.
> 	(c_walk_subtrees): New.
> 	(c_estimate_num_insns_1): Don't handle
> 	EXPR_WITH_FILE_LOCATION nor FILE_STMT.
> 	(c_decl_uninit_1): Remove.
> 	(c_decl_uninit): Remove.
> 	(c_warn_unused_result): New.
> 	* c-common.def (ASM_STMT): Change number of operands
> 	to 4.
> 	(FILE_STMT): Remove.
> 	* c-common.h (lang_expand_stmt, lang_expand_decl_stmt):
> 	Remove.
> 	(lang_gimplify_stmt): Add.
> 	(expand_stmt): Remove.
> 	(ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
> 	ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT,
> 	ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE,
> 	FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P,
> 	ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove.
> 	(genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
> 	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
> 	genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt,
> 	genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
> 	genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label,
> 	genrtl_compound_stmt, genrtl_asm_stmt,
> 	genrtl_cleanup_stmt, c_decl_uninit): Remove.
> 	(c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees,
> 	c_tree_chain_matters_p, c_warn_unused_result,
> 	c_genericize, c_gimplify_stmt, stmt_expr_last_stmt):
> 	Declare.
> 	* c-convert.c (convert): Make convert work when
> 	converting to compatible types across translation unit.
> 	* c-decl.c: Include langhooks.h, tree-mudflap.h,
> 	tree-simple.h, diagnostic.h and tree-dump.h
> 	(merge_decls): Initialize oldtype to NULL.
> 	(finish_decl): Use DECL_HARD_REGISTER instead of
> 	DECL_C_HARD_REGISTER.
> 	(check_bitfield_type_and_width): Check for null
> 	lang_type_specific when check the precision of an enum.
> 	(grokdeclarator): Immediately layout an ARRAY_TYPE used
> 	in a pointer-to-array declarator.
> 	(finish_struct): Clear allocated struct lang_type.
> 	(finish_enum): Set enum_min and enum_max.  Set
> 	TYPE_MIN/MAX_VALUE to the limits of the compatible type,
> 	not to the enumerators.
> 	(set_decl_nonlocal): New.
> 	(store_parm_decls): Use it via walk_tree.
> 	(c_finalize): New.
> 	(finish_function): When !targetm.have_ctors_dtors,
> 	record static constructors and destructors here...
> 	(c_expand_body_1): ... not here.
> 	(c_expand_decl): Rename from c_expand_decl_stmt.
> 	Handle all C-specific expansion semantics.
> 	* c-dump.c (dump_stmt): Use EXPR_LOCUS instead of
> 	STMT_LINENO.
> 	* c-format.c (handle_format_arg_attribute): Initialize
> 	format_num.
> 	* c-lang.c: Include tree-inline.h
> 	(LANG_HOOKS_EXPAND_DECL,
> 	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
> 	LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
> 	LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P,
> 	LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
> 	(LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
> 	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove.
> 	(c_types_compatible_p): New.
> 	* c-mudflap.c: New file.
> 	* c-objc-common.c: Include tree-mudflap.h
> 	(start_cdtor, finish_cdtor): Collapse
> 	together into
> 	(build_cdtor): ...here.  Update to construct a complete tree
> 	for the function.  No need to call push_scope, pop_scope, or
> 	clear_last_expr, or set current_function_cannot_inline.
> 	(c_missing_noreturn_ok_p): Change prototype to return
> 	bool.
> 	(c_objc_common_init): Don't set lang_missing_noreturn_ok_p.
> 	* c-opts.c (c_common_handle_option): Move handling of -fdump- to
> 	opts.c.
> 	(c_common_post_options): Don't ever use rtl inlining.
> 	* c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO.
> 	* c-pragma.c (handle_pragma_redefine_extname): Define
> 	always.
> 	(init_pragma): Activate #pragma redefine_extname for mudflap.
> 	* c-pretty-print.c (pp_c_statement): Remove FILE_STMT.
> 	(pp_c_initializer): Accept any type CONSTRUCTOR.
> 	(pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and
> 	COMPLEX_TYPE.
> 	(decl_name_str): New local function.
> 	(pp_c_direct_declarator): Call it.
> 	(pp_c_primary_expression): Call it.
> 	(pp_c_id_expression): Call it.
> 	(pp_c_statement): Call it.
> 	(print_c_tree): Create new pp object.
> 	* c-pretty-print.h (pp_c_tree_decl_identifier,
> 	print_c_tree): Declare.
> 	* c-semantics.c: Include langhooks.h
> 	(lang_expand_stmt, lang_expand_decl_stmt,
> 	find_reachable_label_1, find_reachable_label,
> 	expand_unreachable_if_stmt, expand_unreachable_stmt,
> 	genrtl_do_stmt_1): Remove.
> 	(begin_stmt_tree): Don't check for changed filename.
> 	Call annotate_with_locus.
> 	(finish_stmt_tree): Don't set line for end of function.
> 	(build_stmt): Don't check type nodes for
> 	side effects.
> 	(build_stmt): Set TREE_SIDE_EFFECTS.
> 	Set EXPR_LOCUS instead of STMT_LINENO.
> 	(lang_expand_stmt, lang_expand_decl_stmt,
> 	expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
> 	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
> 	genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt,
> 	genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt,
> 	genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt,
> 	genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt,
> 	genrtl_cleanup_stmt, expand_stmt, find_reachable_label,
> 	find_reachable_label_1, expand_unreachable_if_stmt,
> 	expand_unreachable_stmt): Remove.
> 	(prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO.
> 	* c-simplify.c: New file.
> 	* c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define.
> 	(struct lang_type): Add fields enum_min and enum_max.
> 	(c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove.
> 	(c_expand_decl, c_missing_noreturn_ok_p,
> 	c_types_compatible_p): Declare.
> 	* c-typeck.c (tagged_types_tu_compatible_p): Allow for
> 	compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE.
> 	(default_function_array_conversion): Rely on build to
> 	set TREE_CONSTANT.
> 	(parser_build_binary_op, pointer_diff): Likewise.
> 	(build_unary_op, build_binary_op): Likewise.
> 	(build_array_ref):
> 	(build_external_ref): Set TREE_INVARIANT.
> 	(build_c_cast, pop_init_level): Likewise.
> 	(process_init_element): Use ASM_VOLATILE_P.
> 	(build_asm_expr): Adapt to GENERIC/GIMPLE syntax.
> 	(c_finish_case): Call c_do_switch_warnings.
> 	* c.opt (fdump-): Remove.
> 	* calls.c (try_to_integrate): Remove.
> 	(prepare_call_address): Replace fndecl arg with a
> 	precomputed static chain value.
> 	(emit_call_1): New argument for full call expr.
> 	(flags_from_decl_or_type): Call special_function_p.
> 	(initialize_argument_information): Add argument
> 	may_tailcall.
> 	(purge_reg_equiv_notes): New.
> 	(expand_call): Do not try to expand calls inline.
> 	(fixup_tail_calls): New.
> 	* cfg.c: Include timevar.h and ggc.h.
> 	(bb_pool, edge_pool): Remove.
> 	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare.
> 	(entry_exit_blocks): Remove.
> 	(rbi_pool): Declare.
> 	(init_flow): Do not create pools.
> 	Allocate entry/exit block.
> 	(free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC.
> 	(alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New.
> 	(unlink_block): Clear b->prev_bb and b->next_bb.
> 	(compact_blocks): Clear all slots of BASIC_BLOCK array.
> 	(dump_flow_info): Work on trees too.
> 	(dump_cfg_bb_info): New.
> 	(brief_dump_cfg): New.
> 	* cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove.
> 	(find_edge): New.
> 	* cfgbuild.c (rtl_make_eh_edge): Rename from
> 	make_eh_edge.  Update all users.
> 	(find_basic_blocks): Don't call VARRAY_FREE on
> 	basic_block_info.
> 	* cfgcleanup.c (outgoing_edges_match): Initialize newpos1
> 	and newpos2.
> 	(delete_unreachable_blocks): Return changed status.
> 	(merge_seq_blocks): New.
> 	* cfghooks.c: Include tree-flow.h
> 	(tree_register_cfg_hooks, ir_type): New.
> 	(redirect_edge_and_branch): Change return type to edge.
> 	(predict_edge, predicted_by_p, can_duplicate_block_p,
> 	duplicate_block, block_ends_with_call_p,
> 	block_ends_with_condjump_p, flow_call_edges_add): New.
> 	* cfghooks.h (redirect_edge_and_branch): Change return
> 	type to edge.
> 	(predict_edge, predicted_by_p, can_duplicate_block_p,
> 	duplicate_block, block_ends_with_call_p,
> 	block_ends_with_condjump_p, flow_call_edges_add): Declare.
> 	(redirect_edge_and_branch): Change return type to edge.
> 	(struct cfg_hooks): Add fields block_ends_with_call_p,
> 	block_ends_with_condjump_p, flow_call_edges_add,
> 	predict_edge, predicted_by_p, can_duplicate_block_p and
> 	duplicate_block.
> 	(tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare.
> 	* cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
> 	(fixup_reorder_chain): Use initialize_bb_rbi.
> 	(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
> 	(cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
> 	(can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
> 	(insn_locators_initialize): Use new info about blocks.
> 	* cfglayout.h (typedef struct reorder_block_def): Moved to
> 	basic_block.h.
> 	(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
> 	removed.
> 	* cfgloop.c: Include tree.h and tree-flow.h.
> 	* cfgloop.h (create_loop_notes): Declare.
> 	* cfgloopmanip.c (create_loop_notes): New.
> 	* cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
> 	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
> 	and duplicate_block fields.
> 	(create_basic_block_structure): Don't look at
> 	RTX_INTEGRATED_P.
> 	(rtl_block_ends_with_call_p): New.
> 	(rtl_block_ends_with_condjump_p): New.
> 	(need_fake_edge_p): Moved from cfganal.c.
> 	(rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add).
> 	(rtl_cfg_hooks): Add rtl_block_ends_with_call_p,
> 	rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add.
> 	(cfg_layout_rtl_cfg_hooks): Ditto.
> 	* cgraph.c (cgraph_mark_reachable_node): Don't force nested
> 	functions to be reachable.
> 	* cgraphunit.c (decide_is_function_needed):
> 	* cgraphunit.c (decide_is_function_needed): Nested functions of extern
> 	inline functions don't need to be output.
> 	(cgraph_assemble_pending_functions): Don't do anything
> 	special for nested functions.
> 	(cgraph_mark_functions_to_output): Likewise.
> 	(cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION.
> 	(cgraph_analyze_function): Use estimate_num_insns.
> 	(cgraph_mark_functions_to_output): Likewise.
> 	(cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise.
> 	(cgraph_expand_function): Allow functions to not be
> 	emitted.
> 	(cgraph_remove_unreachable_nodes):
> 	(cgraph_recursive_inlining_p): Simplify.
> 	(lookup_recursive_calls,
> 	cgraph_decide_recursive_inlining): New.
> 	(cgraph_decide_inlining_*): Update calls of
> 	cgraph_mark_inline.
> 	* combine.c (get_pos_from_mask): Always set *plen.
> 	* common.opt (fdump-, fmudflap, fmudflapth, fmudflapir,
> 	ftree-based-profiling, ftree-ccp, ftree-ch,
> 	ftree-combine-temps, ftree-copyrename, ftree-dce,
> 	ftree-dominator-opts, ftree-dse, ftree-loop-optimize,
> 	ftree-points-to, ftree-pre, ftree-sra, ftree-ter,
> 	ftree-lrs): Add.
> 	* config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR):
> 	Undefine.
> 	* configure.ac: Add --enable-tree-browser option.
> 	Add --with-libbanshee option.
> 	Add GMPLIBS and GMPINC.
> 	* configure: Regenerate.
> 	* coverage.c (tree_ctr_tables): New.
> 	(coverage_counter_alloc): Use it.
> 	(build_ctr_info_value): Ditto.
> 	(coverage_counter_ref): Ditto.  Rename to rtl_coverage_counter_ref.
> 	(tree_coverage_counter_ref): New.
> 	* coverage.h (coverage_counter_ref): Remove declaration.
> 	(rtl_coverage_counter_ref): Declare.
> 	(tree_coverage_counter_ref): Declare.
> 	* cppexp.c (append_digit): Rearrange unsignedp/overflow setting.
> 	(eval_token, num_binary_op, num_part_mul, num_div_op): Likewise.
> 	* cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
> 	(struct cse_basic_block_data): Rename enum values to not
> 	conflict with profile.h; update all uses.
> 	* dbxout.c (dbxout_symbol_location): Don't mention integrate.c
> 	in comments.
> 	* defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c.
> 	* diagnostic.h (debug_output_buffer, dump_generic_node,
> 	print_generic_stmt, print_generic_stmt_indented,
> 	print_generic_expr, print_generic_decl,
> 	debug_generic_expr, debug_generic_stmt, debug_c_tree):
> 	Declare.
> 	* dominance.c: Cache immediate dominators.
> 	* domwalk.c: New file.
> 	* domwalk.h: New file.
> 	* dwarf2out.c (is_fortran): Support DW_LANG_Fortran95.
> 	(gen_subprogram_die): Generate a DIE for a named
> 	return value.
> 	(loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL.
> 	(add_location_or_const_value_attribute): Likewise.
> 	(add_bound_info): Likewise.
> 	(gen_decl_die): Likewise.
> 	* emit-rtl.c (maybe_set_first_label_num): New.
> 	(copy_most_rtx): Don't copy the integrated flag.
> 	Copy the new return_val flag.
> 	* et-forest.c (MAX_NODES): Define.
> 	(record_path_before_1): Abort if len is greater than
> 	MAX_NODES.
> 	* except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
> 	gen_eh_region_catch, gen_eh_region_allowed,
> 	gen_eh_region_must_not_throw, get_eh_region_number,
> 	get_eh_region_may_contain_throw, get_eh_region_tree_label,
> 	set_eh_region_tree_label, expand_resx_expr): New.
> 	(expand_eh_region_start, expand_start_catch): Use them.
> 	(expand_end_catch): Tidy.
> 	(note_eh_region_may_contain_throw): Take region argument.
> 	(note_current_region_may_contain_throw): New.
> 	(get_exception_filter): Export.
> 	(collect_eh_region_array): Export.
> 	(remove_unreachable_regions): Check ERT_TRY based on reachability
> 	of catches, not reachability of continue_label.  Never remove
> 	ERT_MUST_NOT_THROW regions.
> 	(collect_rtl_labels_from_trees): New.
> 	(convert_from_eh_region_ranges): Use it.
> 	(connect_post_landing_pads): Handle dying cleanups.
> 	(struct reachable_info): Add callback data.
> 	(add_reachable_handler): Invoke the callback.
> 	(foreach_reachable_handler): New.
> 	(reachable_handlers): Use it.
> 	(arh_to_landing_pad, arh_to_label): New.
> 	(can_throw_internal_1): Split out from can_throw_internal.
> 	(can_throw_external_1): Similarly.
> 	* except.h: Update.
> 	* explow.c (emit_stack_save): Remove savearea mode check.
> 	(update_nonlocal_goto_save_area): New.
> 	(allocate_dynamic_stack_space): Use it.
> 	(probe_stack_range): Never emit loop notes.
> 	* expmed.c (extract_fixed_bit_field): Always propagate the
> 	target for the shift if it is a REG.
> 	* expr.c: Include tree-iterator.h
> 	(is_zeros_p): Remove.
> 	(categorize_ctor_elements_1, categorize_ctor_elements): New.
> 	(count_type_elements): New.
> 	(mostly_zeros_p): Use them.
> 	(expr_wfl_stack): Remove.
> 	(convert_move): Do nothing if to and from are the same.
> 	(emit_block_move_via_loop): Don't emit LOOP notes.
> 	(emit_move_insn): Don't handle CONSTANT_P_RTX.
> 	(emit_move_insn_1): Don't generate inline warnings.
> 	(expand_vars, expand_var): Split from ...
> 	(expand_expr_1): ... here.
> 	(expand_expr_real, expand_expr_real_1):  Use new macros
> 	EXPR_LOCATION and EXPR_HAS_LOCATION.
> 	* expr.h (simplify_builtin_fputs,
> 	simplify_builtin_strcpy, simplify_builtin_strncpy,
> 	expand_var, fixup_tail_calls,
> 	update_nonlocal_goto_save_area): Declare.
> 	(lookup_static_chain, expand_inline_function,
> 	mark_seen_cases): Remove.
> 	(prepare_call_address): Change type of 2nd argument to
> 	rtx.
> 	* final.c (profile_function): Update static chain test.
> 	(final): Don't look at RTX_INTEGRATED_P.
> 	* flags.h (flag_mudflap, flag_mudflap_threads,
> 	flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp,
> 	flag_tree_dce, flag_tree_combine_temps,
> 	flag_tree_live_range_split, flag_tree_dom, flag_tree_ch,
> 	flag_tree_dse, flag_tree_sra, flag_tree_copyrename,
> 	flag_tree_points_to): Declare.
> 	(enum pta_type): Declare.
> 	* flow.c (lang_missing_noreturn_ok_p): Remove.
> 	(check_function_return_warnings): Remove.
> 	(update_life_info): Update comments.
> 	(free_basic_block_vars): Don't call VARRAY_FREE for
> 	basic_block_info.
> 	(regno_uninitialized): Remove.
> 	* fold-const.c (int_const_binop): Make extern.
> 	(non_lvalue): Rely on build to set TREE_CONSTANT.
> 	(operand_equal_p): Replace only_const argument with
> 	flags.  Allow pure functions if OEP_PURE_SAME.
> 	(fold): Use OEP_ONLY_CONST.
> 	(invert_truthvalue) <NOP_EXPR> Break if argument is of
> 	boolean type.
> 	(fold_relational_hi_lo,
> 	nondestructive_fold_binary_to_constant,
> 	nondestructive_fold_unary_to_constant,
> 	fold_read_from_constant_string): New.
> 	* function.c (struct function): Remove calls_constant_p.
> 	(current_function_calls_constant_p): Remove.
> 	(inline_function_decl): Remove.
> 	(put_var_into_stack): Don't use it.
> 	(fix_lexical_addr): Likewise.
> 	(inline_function_decl): Remove extern declaration.
> 	(TRAMPOLINE_ALIGNMENT): Move to defaults.h.
> 	(trampolines_created): Move to varasm.c.
> 	(free_after_compilation): Update for removed fields.
> 	(allocate_struct_function): Likewise.
> 	(delete_handlers, lookup_static_chain): Remove.
> 	(fix_lexical_addr): Don't consider non-local variable refs.
> 	(trampoline_address): Remove.
> 	(round_trampoline_addr): Move to builtins.c.
> 	(adjust_trampoline_addr): Remove.
> 	(expand_function_start): Update for changes to static chain
> 	and nonlocal goto handling.
> 	(initial_trampoline): Move to varasm.c.
> 	(expand_function_end): Don't build trampolines or kill
> 	unreferenced nonlocal goto labels.
> 	(free_after_compilation): Don't set it.
> 	(expand_function_end): Likewise.
> 	(setjmp_vars_warning): Rename from
> 	uninitialized_vars_warning, remove uninitialized vars warning.
> 	(uninitialized_vars_warning): Remove old comment
> 	and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING
> 	and do not call the langhook.
> 	(expand_function_start, expand_function_end): Don't do
> 	function instrumentation here.
> 	(clear_block_marks): Rename from reorder_blocks_0, export.
> 	(blocks_nreverse): Export.
> 	(uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence
> 	of rtl.
> 	(reset_block_changes, record_block_change, finalize_block_changes,
> 	check_block_change, free_block_changes): New functions.
> 	(assign_parms): Setting of current_function_stdarg
> 	moved ...
> 	(allocate_struct_function): ... here.
> 	* function.h (struct function): Remove x_nonlocal_labels,
> 	x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level,
> 	x_context_display, x_trampoline_list, needs_context.
> 	Add static_chain_decl, nonlocal_goto_save_area.
> 	(struct function): Remove x_clobber_return_insn.
> 	Add tail_call_emit field, last_label_uid,
> 	unexpanded_var_list, dont_emit_block_notes,
> 	ib_boundaries_block, function_end_locus and saved_tree/saved_args.
> 	(clear_block_marks): Declare.
> 	* gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support.
> 	(mfwrap_spec, mflib_spec): Declare.
> 	(cpp_unique_options, cc1_options): Ditto.
> 	(default_compilers): Add .F and .f90.
> 	(static_specs): Add mfwrap and mflib.
> 	* gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle
> 	CONSTANT_RTX_P.
> 	(reg_used_on_edge, reg_killed_on_edge, bypass_block):
> 	Update to match insns field in struct edge_def.
> 	* gdbinit.in (pgs, pge): Define.
> 	* genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag
> 	instead of the integrated flag.
> 	* gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT
> 	* gengtype-yacc.y (bitfieldlen): Add empty action.
> 	(struct_fields): Accept unnamed bitfields.
> 	(bitfieldlen): Split from ...
> 	(bitfieldopt): ... here.
> 	* gengtype.c (ifiles): Add tree-alias-type.h and
> 	tree-flow.h.
> 	* genrecog.c (validate_pattern): Do not handle
> 	CONSTANT_P_RTX.
> 	* gimple-low.c: New file.
> 	* gimplify.c: New file.
> 	* haifa-sched.c (priority): Do not handle CONSTANT_P_RTX.
> 	(restore_line_notes): Do not set RTX_INTEGRATED_P.
> 	* ifcvt.c (dead_or_predicable): Initialize local variable
> 	'earliest'.
> 	* input.h (expr_wfl_stack): Remove.
> 	* integrate.c (INTEGRATE_THRESHOLD): Remove.
> 	(setup_initial_hard_reg_value_integration): Likewise.
> 	(initialize_for_inline): Likewise.
> 	(note_modified_parmregs): Likewise.
> 	(integrate_parm_decls): Likewise.
> 	(process_reg_param): Likewise.
> 	(save_parm_insns): Likewise.
> 	(copy_insn_list): Likewise.
> 	(copy_insn_notes): Likewise.
> 	(compare_blocks): Likewise.
> 	(find_block): Likewise.
> 	(inlining): Likewise.
> 	(function_cannot_inline_p): Likewise.
> 	(parmdecl_map): Likewise.
> 	(in_nonparam_insns): Likewise.
> 	(save_for_inline): Likewise.
> 	(FIXED_BASE_PLUS): Likewise.
> 	(expand_inline_function): Likewise.
> 	(copy_rtx_and_substitute): Don't look at map->integrating,
> 	map->inline_target, and inlining, since we are never copying
> 	for integrating.
> 	Don't abort on RTX_INTEGRATED_P.
> 	(old_fun): Remove.
> 	(output_inline_function): Remove.
> 	* integrate.h (struct inline_map): Remove fields integrating,
> 	block_map, leaf_reg_map, inline_target, and local_return_label.
> 	* jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
> 	copy_loop_headers, never_reached_warning): Removed.
> 	(any_uncondjump_p): Reject nonlocal goto.
> 	* langhooks-def.h (lhd_types_compatible_p,
> 	lhd_expand_decl, lhd_gimplify_expr): Declare.
> 	(LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
> 	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
> 	LANG_HOOKS_FUNCTION_LEAVE_NESTED,
> 	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
> 	LANG_HOOKS_GIMPLIFY_EXPR,
> 	LANG_HOOKS_GIMPLE_BEFORE_INLINING,
> 	LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
> 	LANG_HOOKS_GIMPLIFY_EXPR,
> 	LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define.
> 	(LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START,
> 	LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END,
> 	LANG_HOOKS_FUNCTION_LEAVE_NESTED,
> 	LANG_HOOKS_RTL_EXPAND_INITIALIZER,
> 	LANG_HOOKS_DECL_UNINIT,
> 	LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove.
> 	* langhooks.c: Include tree-simple.h.
> 	(lhd_expand_decl): New.
> 	(lhd_types_compatible_p): New.
> 	(lhd_decl_uninit): Remove.
> 	(lhd_gimplify_expr): New.
> 	* langhooks.h (struct lang_hooks_for_rtl_expansion):
> 	Remove.
> 	(struct lang_hooks_for_functions): Add field
> 	missing_noreturn_ok_p.
> 	(struct lang_hooks): Add field expand_decl,
> 	types_compatible_p, gimplify_expr and
> 	gimple_before_inlining.
> 	Remove fields decl_uninit and rtl_expand
> 	* opts.c (decode_options): Set flag_tree_ccp,
> 	flag_tree_dce, flag_tree_dom, flag_tree_dse,
> 	flag_tree_pre, flag_tree_ter,
> 	flag_tree_live_range_split, flag_tree_sra,
> 	flag_tree_copyrename and flag_tree_ch at -O1 and higher.
> 	(common_handle_option): Handle OPT_fdump_, OPT_fmudflap,
> 	OPT_fmudflapth, OPT_fmudflapir,
> 	OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce,
> 	OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs,
> 	OPT_ftree_dominator_opts, OPT_ftree_copyrename,
> 	OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra,
> 	OPT_ftree_points_to_ and OPT_ftree_pre.
> 	* output.h (regno_uninitialized, find_basic_blocks,
> 	cleanup_cfg, delete_unreachable_blocks,
> 	check_function_return_warnings): Remove.
> 	* params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE,
> 	PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO,
> 	PARAM_MAX_INLINE_RECURSIVE_DEPTH,
> 	PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
> 	PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS):
> 	* params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS):
> 	Define.
> 	* passes.c (rest_of_decl_compilation):
> 	(rest_of_handle_sibling_calls): Remove.
> 	(rest_of_handle_inlining): Remove.
> 	(rest_of_handle_gcse): Do not run
> 	purge_builtin_constant_p.
> 	(rest_of_compilation): Update.
> 	Do not call copy_loop_headers.
> 	Do rtl-based profiling only when
> 	!flag_tree_based_profiling.  Register rtl-based profiling
> 	hooks.
> 	* predict.c:  Include tree-flow.h, ggc.h, tree-dump.h
> 	(predicted_by_p): Rename to ...
> 	(rtl_predicted_by_p): .. this one; make global
> 	(tree_predicted_by_p): New.
> 	(dump_prediction): Add FILE argument.
> 	(predict_edge): Rename to ...
> 	(rtl_predict_edge): .. this one.
> 	(tree_predict_edge): New.
> 	(combine_predictions_for_insn): Update calls of predict_edge.
> 	(predict_loops): Break out from ...
> 	(estimate_probability): ... here; update comments; move updating
> 	of unknown probabilities from ...
> 	(estimate_bb_frequencies): ... here.
> 	(combine_predictions_for_bb): New.
> 	(tree_predict_by_opcode): New.
> 	(tree_estimate_probability): New.
> 	* predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE,
> 	PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors.
> 	* predict.h: Add include guard.
> 	(predict_edge, predict_edge_def): Move prototypes to basic_block.h
> 	* pretty-print.c (pp_write_text_to_stream): Make extern.
> 	* pretty-print.h (pp_write_text_to_stream): Declare.
> 	* print-rtl.c (print_rtx): Don't print the integrated flag.
> 	Print the return_val flag.
> 	* print-tree.c: Use TREE_FILENAME and TREE_LINENO instead
> 	of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively.
> 	Remove support for EXPR_WITH_FILE_LOCATION nodes.
> 	(print_node): Print TREE_INVARIANT and TREE_VISITED.
> 	* profile.c: Include cfghooks.h, tree-flow.h.
> 	(profile_hooks): New.
> 	(profile_dump_file): New.
> 	(instrument_edges): Use hooks instead of RTL-specific code.
> 	(instrument_values): Ditto.
> 	(get_exec_counts): Ditto.
> 	(compute_branch_probabilities): Ditto.
> 	(compute_value_histograms): Ditto.
> 	(branch_prob): Ditto.
> 	(find_spanning_tree): Ditto.
> 	(end_branch_prob): Ditto.
> 	(gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler).
> 	(gen_interval_profiler): Ditto (rtl_gen_interval_profiler).
> 	(gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler).
> 	(gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler).
> 	(tree_register_profile_hooks): New.
> 	(rtl_register_profile_hooks): New.
> 	* ra-rewrite.c (rewrite_program): Clear variable info.
> 	* recog.c (immediate_operand): Do not handle CONSTANT_P_RTX.
> 	* regs.h: Add include guards.
> 	* reload.c (decompose): Clear val using memset.
> 	* rtl.def (CONSTANT_P_RTX): Remove.
> 	* rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX.
> 	(copy_loop_headers): Remove.
> 	(struct rtx_def): Replace the integrated flag with the
> 	return_val flag.
> 	(maybe_set_first_label_num): Declare.
> 	(init_branch_prob): Move declaration to value-prof.h.
> 	(end_branch_prob): Ditto.
> 	(branch_prob): Ditto.
> 	(never_reached_warning): Don't declare it.
> 	* rtlanal.c (get_related_value): Initialize get_jump_table_offset
> 	(hoist_insn_to_edge): Update to match field insns in
> 	struct edge_def.
> 	* sbitmap.c (sbitmap_realloc): New.
> 	* sbitmap.h (sbitmap_realloc): Declare.
> 	* sibcall.c: Remove file.
> 	* simplify-rtx.c (simplify_rtx): Do not handle
> 	CONSTANT_P_RTX.
> 	* stmt.c (parse_output_constraint): Don't warn for read-write
>         memory operand.
> 	(tail_recursion_args): Use types_compatible_p langhook.
> 	(force_label_rtx): Don't look at inline_function_decl.
> 	(label_rtx): Set LABEL_PRESERVE_P appropriately.
> 	(expand_label): Handle DECL_NONLOCAL and FORCED_LABEL.
> 	(declare_nonlocal_label): Remove.
> 	(expand_goto): Don't handle nonlocal gotos.
> 	(expand_nl_handler_label): Remove.
> 	(expand_nl_goto_receivers): Remove.
> 	(expand_end_bindings): Don't expand_nl_goto_receivers.  Use
> 	update_nonlocal_goto_save_area.
> 	(expand_expr_stmt_value): Check TREE_NO_WARNING.
> 	(warn_if_unused_value): Likewise.
> 	(expand_start_loop, expand_loop_continue_here,
> 	expand_end_loop): Don't create loop notes.
> 	(all_cases_count, BITARRAY_TEST, BITARRAY_SET,
> 	mark_seen_cases, check_for_full_enumeration_handling): Remove.
> 	(expand_end_case_type): Don't do warn_switch handling.
> 	(pushcase, pushcase_range) Update add_case_node calls.
> 	(add_case_node): Add dont_expand_label argument.
> 	(same_case_target_p): Don't search rtl.
> 	(expand_start_bindings_and_block, expand_end_bindings):
> 	Don't emit block notes when dont_emit_block_notes.
> 	(using_eh_for_cleanups_p): Export.
> 	(expand_return): Allow any typed rhs.
> 	(expand_stack_alloc): New.
> 	(expand_stack_save, expand_stack_restore): New.
> 	(containing_blocks_have_cleanups_or_stack_level): New
> 	function.
> 	(asm_op_is_mem_input): New fn.
> 	(expand_asm_expr): New fn.
> 	(warn_if_unused_value): Check operand 0 of SAVE_EXPR
> 	nodes.
> 	* stor-layout.c (layout_type): Just return if type is
> 	error_mark_node.
> 	(update_alignment_for_field): Export.
> 	(variable_size): We don't care about global_bindings_p if
> 	the frontend doesn't want a list of the expressions.
> 	* system.h: Poison INTEGRATE_THRESHOLD.
> 	* timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG,
> 	TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS,
> 	TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS,
> 	TV_TREE_SSA_OTHER, TV_TREE_OPS,
> 	TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP,
> 	TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT,
> 	TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE,
> 	TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH,
> 	TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL,
> 	TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY,
> 	TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS,
> 	TV_CONTROL_DEPENDENCES): Define.
> 	* toplev.c: Include tree-alias-common.h
> 	(current_file_decl, flag_mudflap, flag_mudflap_threads,
> 	flag_mudflap_ignore_reads, flag_tree_based_profiling,
> 	flag_tree_gvn, flag_tree_points_to, flag_tree_ccp,
> 	flag_tree_dce, flag_tree_ch, flag_tree_sra,
> 	flag_tree_combine_temps, flag_tree_ter,
> 	flag_tree_live_range_split, flag_tree_dom,
> 	flag_tree_copyrename, flag_tree_dse): Declare.
> 	(f_options): Add tree-based-profiling, tree-gvn,
> 	tree-pre, tree-ccp, tree-dce,
> 	tree-dominator-opts, tree-copyrename, tree-dse,
> 	tree-combine-temps, tree-ter, tree-lrs and tree-ch.
> 	(wrapup_global_declarations): Don't output nested inlined functions.
> 	(general_init): Call init_tree_optimization_passes.
> 	(process_options): Sorry for -ftree-based-profiling plus
> 	-ftest-coverage or -fprofile-values.
> 	* toplev.h (init_tree_optimization_passes,
> 	flag_tree_based_profiling): Declare.
> 	* tracer.c (tail_duplicate): Use cfghooks for bb duplication.
> 	* tree-alias-ander.c: New file.
> 	* tree-alias-ander.h: New file.
> 	* tree-alias-common.c: New file.
> 	* tree-alias-common.h: New file.
> 	* tree-alias-type.c: New file.
> 	* tree-alias-type.h: New file.
> 	* tree-browser.c: New file.
> 	* tree-browser.def: New file.
> 	* tree-cfg.c: New file.
> 	* tree-complex.c: New file.
> 	* tree-dfa.c: New file.
> 	* tree-dump.c (dump_enable_all): New.
> 	(dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION.
> 	(dump_node): Remove const from field suffix and swtch.
> 	(dump_files): Add null entry, .generic, .nested, .vcg,
> 	.xml and a match-all entry.
> 	(extra_dump_files, extra_dump_files_in_use,
> 	extra_dump_files_alloced): Declare
> 	(dump_option_value_info): Add raw, details, stats,
> 	blocks, vops, lineno, uid and all.
> 	(dump_register): New.
> 	(get_dump_file_info): New.
> 	(dump_begin): Call it.
> 	Do nothing for TDI_none.
> 	(dump_begin): Include phase number in dump filename.
> 	(dump_enable_all): New.
> 	(dump_switch_p_1): Split out from dump_switch_p.
> 	(dump_switch_p): Handle extra_dump_files.
> 	Start our scan at TDI_none + 1.
> 	If -fdump-tree-all was given, call dump_enable_all.
> 	* tree-dump.h: Include splay-tree.h.
> 	(dump_function, dump_function_to_file, dump_register):
> 	Declare.
> 	* tree-eh.c: New file.
> 	* tree-flow-inline.h: New file.
> 	* tree-flow.h: New file.
> 	* tree-inline.c: Re-write to handle inlining on GIMPLE.
> 	* tree-inline.h (walk_tree,
> 	walk_tree_without_duplicates): Move to tree.h.
> 	(estimate_num_insns): Declare.
> 	* tree-into-ssa.c: New file.
> 	* tree-iterator.c: New file.
> 	* tree-iterator.h: New file.
> 	* tree-mudflap.c: New file.
> 	* tree-mudflap.h: New file.
> 	* tree-nested.c: New file.
> 	* tree-nomudflap.c: New file.
> 	* tree-nrv.c: New file.
> 	* tree-optimize.c (dump_flags, vars_to_rename,
> 	in_gimple_form, all_passes, pass_gimple,
> 	pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare.
> 	(execute_gimple, execute_rebuild_bind,
> 	gate_all_optimizations, execute_del_cfg,
> 	register_one_dump_file, register_dump_files, dup_pass_1,
> 	init_tree_optimization_passes, execute_todo,
> 	execute_one_pass, execute_pass_list): New.
> 	(clear_decl_rtl): Remove.
> 	(tree_rest_of_compilation): Update to use tree
> 	optimizers.
> 	* tree-outof-ssa.c: New file.
> 	* tree-pass.h: New file.
> 	* tree-phinodes.c: New file.
> 	* tree-pretty-print.c: New file.
> 	* tree-profile.c: New file.
> 	* tree-simple.c: New file.
> 	* tree-simple.h: New file.
> 	* tree-sra.c: New file.
> 	* tree-ssa-alias.c: New file.
> 	* tree-ssa-ccp.c: New file.
> 	* tree-ssa-copy.c: New file.
> 	* tree-ssa-copyrename.c: New file.
> 	* tree-ssa-dce.c: New file.
> 	* tree-ssa-dom.c: New file.
> 	* tree-ssa-dse.c: New file.
> 	* tree-ssa-forwprop.c: New file.
> 	* tree-ssa-live.c: New file.
> 	* tree-ssa-live.h: New file.
> 	* tree-ssa-loop.c: New file.
> 	* tree-ssa-operands.c: New file.
> 	* tree-ssa-operands.h: New file.
> 	* tree-ssa-phiopt.c: New file.
> 	* tree-ssa-pre.c: New file.
> 	* tree-ssa.c: New file.
> 	* tree-ssanames.c: New file.
> 	* tree-tailcall.c: New file.
> 	* tree.c: Include tree-iterator.h, basic-block.h and
> 	tree-flow.h.
> 	(tree_node_kind): Add phi_nodes and ssa names.
> 	(tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME,
> 	EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST.
> 	(make_node_stat): Handle PHI_NODE and SSA_NAME.
> 	<'c'> Set TREE_INVARIANT.
> 	(copy_node_stat): Abort if trying to copy a
> 	STATEMENT_LIST.
> 	Clear TREE_VISITED.
> 	Clear annotation field.
> 	(build_constructor): Copy TREE_INVARIANT from vals.
> 	Don't clear TREE_CONSTANT.
> 	(expr_first, expr_last, expr_length): Remove.
> 	(staticp): Pass unknown component references to the language.
> 	(save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT.
> 	(skip_simple_arithmetic): Likewise.
> 	(stabilize_reference_1): Likewise.
> 	(tree_node_structure): Handle PHI_NODE, EPHI_NODE,
> 	EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and
> 	STATEMENT_LIST.
> 	(lhd_unsave_expr_now): Remove.
> 	(unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR.
> 	(recompute_tree_invarant_for_addr_expr): New.
> 	(build1_stat): Clear EXPR_LOCUS and TREE_BLOCK.
> 	Call recompute_tree_invarant_for_addr_expr.
> 	Set TREE_INVARIANT accordingly.
> 	(build2_stat): Don't handle CALL_EXPR.
> 	(build3_stat): Don't call build2_stat for CALL_EXPRs.
> 	(build_expr_wfl): Remove.
> 	(annotate_with_file_line, annotate_with_locus): New.
> 	(simple_cst_equal): Call simple_cst_list_equal to compare
> 	CONSTRUCTOR_ELTS pointers.
> 	(iterative_hash_expr): Don't hash types associated
> 	with conversions.  Instead hash on the signedness of the
> 	toplevel object and the operand of the conversion.
> 	(dump_tree_statistics): Call ssanames_print_statistics
> 	and phinodes_print_statistics.
> 	(ephi_node_elt_check_failed, phi_node_elt_check_failed,
> 	add_var_to_bind_expr, build_empty_stmt, is_essa_node,
> 	needs_to_live_in_memory): New.
> 	(initializer_zerop): Handle VECTOR_CST.  Don't check
> 	AGGREGATE_TYPE_P for CONSTRUCTOR.
> 	* tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR,
> 	SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE,
> 	PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define.
> 	(GOTO_SUBROUTINE_EXPR): Change type to 's'.
> 	(CALL_EXPR): Add another operand.
> 	(EXPR_WITH_FILE_LOCATION): Remove.
> 	(SWITCH_EXPR): Add another operand.
> 	* tree.h: Update various comments.
> 	(union tree_ann_d): Forward declare.
> 	(struct tree_common): Add fields nowarning_flag,
> 	invariant_flag and visited.
> 	(EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK,
> 	PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK,
> 	EPHI_NODE_ELT_CHECK, TREE_BLOCK,
> 	STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL,
> 	TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT,
> 	IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME,
> 	EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION,
> 	EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS,
> 	CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS,
> 	BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION,
> 	ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS,
> 	ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND,
> 	COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL,
> 	CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES,
> 	EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW,
> 	SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION,
> 	SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST,
> 	PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS,
> 	PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF,
> 	EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT,
> 	EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED,
> 	EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED,
> 	EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY,
> 	EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF,
> 	EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME,
> 	EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS,
> 	EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED,
> 	EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE,
> 	EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS,
> 	TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS,
> 	DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID,
> 	DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL,
> 	STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW,
> 	TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO,
> 	TDF_UID,): Define.
> 	(TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE,
> 	EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME,
> 	EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO,
> 	EXPR_WFL_SET_LINECOL): Remove.
> 	(phi_node_elt_check_failed, ephi_node_elt_check_failed,
> 	make_phi_node, init_phinodes, fini_phinodes,
> 	release_phi_node, phinodes_print_statistics,
> 	init_ssanames, fini_ssanames, make_ssa_name,
> 	release_ssa_name, ssanames_print_statistics,
> 	annotate_with_file_line, build_empty_stmt,
> 	annotate_with_locus, expr_only, categorize_ctor_elements,
> 	count_type_elements, add_var_to_bind_expr, is_essa_node,
> 	expand_stack_alloc, expand_stack_save,
> 	expand_stack_restore, add_case_node, operand_equal_p,
> 	nondestructive_fold_unary_to_constant,
> 	nondestructive_fold_binary_to_constant,
> 	fold_read_from_constant_string, int_const_binop,
> 	strip_float_extensions, simplify_builtin, c_strlen,
> 	recompute_tree_invarant_for_addr_expr,
> 	needs_to_live_in_memory, make_vector,
> 	setjmp_vars_warning, update_alignment_for_field,
> 	expand_asm_expr, asm_op_is_mem_input,
> 	containing_blocks_have_cleanups_or_stack_level,
> 	create_artificial_label, gimplify_function_tree,
> 	get_name, unshare_expr, walk_tree,
> 	walk_tree_without_duplicates, in_gimple_form): Declare.
> 	(struct tree_exp): Add fields locus and block.
> 	(struct tree_ssa_name, struct edge_def, struct
> 	tree_phi_node, struct tree_eref_common, struct
> 	tree_euse_node, struct ephi_arg_d, struct tree_ephi_node,
> 	union alias_var_def, struct tree_statement_list_node,
> 	struct tree_statement_list, enum operand_equal_flag): Declare.
> 	(enum tree_node_structure_enum): Add TS_SSA_NAME,
> 	TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE,
> 	TS_STATEMENT_LIST.
> 	(union tree_node): Add fields ssa_name, phi, eref, ephi,
> 	euse and stmt_list.
> 	(function_cannot_inline_p, uninitialized_vars_warning,
> 	save_for_inline, output_inline_function, all_cases_count,
> 	check_for_full_enumeration_handling,
> 	declare_nonlocal_label): Remove.
> 	(enum tree_dump_index): Add TDI_none, TDI_tu,
> 	TDI_generic, TDI_nested, TDI_vcg, TDI_xml.
> 	* unroll.c (unroll_loop): Don't clear map->inline_target.
> 	* unwind-sjlj.c (uw_install_context): Make a proper static inline
> 	function.
> 	* value-prof.c (value_prof_hooks): New.
> 	(find_values_to_profile): Rename to rtl_find_values_to_profile.
> 	Move rtl-specific bits in from branch_prob.
> 	(value_profile_transformations): Rename to
> 	rtl_value_profile_transformations.
> 	(struct value_prof_hooks): New.
> 	(rtl_value_prof_hooks): New.
> 	(rtl_register_value_prof_hooks): New.
> 	(tree_find_values_to_profile): New stub.
> 	(tree_value_profile_transformations): New stub.
> 	(tree_value_prof_hooks): New stub.
> 	(tree_register_value_prof_hooks): New stub.
> 	(find_values_to_profile): New.
> 	(value_profile_transformations): New.
> 	* value-prof.h: Add multiple inclusion guard.
> 	(struct histogram_value): Change rtx fields to void *.
> 	(rtl_register_value_prof_hooks): New declaration.
> 	(tree_register_value_prof_hooks): New declaration.
> 	(find_values_to_profile): New declaration.
> 	(free_profiled_values): New declaration.
> 	(value_profile_transformations): New declaration.
> 	(struct profile_hooks): New declaration.
> 	(init_branch_prob): Declaration moved from rtl.h.
> 	(branch_prob): Declaration moved from rtl.h.
> 	(end_branch_prob): Declaration mooved from rtl.h.
> 	(tree_register_profile_hooks): New declaration.
> 	(rtl_register_profile_hooks): New declaration.
> 	(tree_profile_hooks): New declaration.
> 	(rtl_profile_hooks): New declaration.
> 	* varasm.c: Include tree-mudflap.h.
> 	(TRAMPOLINE_ALIGNMENT): Remove.
> 	(make_decl_rtl): Call mudflap_enqueue_decl.
> 	(assemble_static_space):
> 	(assemble_trampoline_template): Set and return
> 	TRAMPOLINE_ALIGNMENT.
> 	* varray.c (element): Add GENERIC_PTR_NOGC entry.
> 	Add entry for 'tree *'.
> 	Add entry for struct edge_def *.
> 	(varray_copy): New.
> 	* varray.h (enum varray_data_enum): Add
> 	VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and
> 	VARRAY_DATA_TREE_PTR.
> 	(union varray_data_tag): Corresponding changes.
> 	(VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT,
> 	VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC,
> 	VARRAY_EDGE, VARRAY_TREE_PTR,
> 	VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE,
> 	VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC,
> 	VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define.
> 
> 	* config/*/*: Various updates for changed macros, tree
> 	codes, etc.  Check ChangeLog.tree-ssa.
> 
> 	* doc/cfg.texi: New file.
> 	* doc/tree-ssa.texi: New file.
> 	* doc/c-tree.texi: Document new codes.
> 	* doc/gccint.texi: Include new files.
> 	* doc/install.texi: Document new features.
> 	* doc/invoke.texi: Document new switches.
> 	* doc/passes.texi: Document new passes.
> 	* doc/rtl.texi: Update changed RTL codes.
> 	* doc/sourcebuild.texi: Update build instructions.
> 	* doc/standards.texi: Document Fortran changes.
> 	* doc/tm.texi: Update.
> 


-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [3.5 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2004-06-29 17:05 ` joern dot rennecke at superh dot com
@ 2004-08-15  3:30 ` pinskia at gcc dot gnu dot org
  2004-10-06 23:19 ` [Bug middle-end/16266] [4.0 " giovannibajo at libero dot it
                   ` (19 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-15  3:30 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|regression                  |middle-end


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2004-08-15  3:30 ` [Bug middle-end/16266] " pinskia at gcc dot gnu dot org
@ 2004-10-06 23:19 ` giovannibajo at libero dot it
  2004-10-07  6:44 ` amylaar at spamcop dot net
                   ` (18 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: giovannibajo at libero dot it @ 2004-10-06 23:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-10-06 23:19 -------
I cannot reproduce this on mainline 20040923 on x86-linux with a disable 
checking compiler. So either:

- the bug is already fixed
- the bug only appears crossing to sh-elf
- the bug does not exist with disable-checking so we do not care
(should we?)

Joern, can you please check which of the three above applies?

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |giovannibajo at libero dot
                   |                            |it
             Status|UNCONFIRMED                 |WAITING


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2004-10-06 23:19 ` [Bug middle-end/16266] [4.0 " giovannibajo at libero dot it
@ 2004-10-07  6:44 ` amylaar at spamcop dot net
  2004-10-07  6:48 ` echristo at redhat dot com
                   ` (17 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: amylaar at spamcop dot net @ 2004-10-07  6:44 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From amylaar at spamcop dot net  2004-10-07 06:44 -------
Subject: Re:  [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow

> 
> 
> ------- Additional Comments From giovannibajo at libero dot it  2004-10-06 23:19 -------
> I cannot reproduce this on mainline 20040923 on x86-linux with a disable 
> checking compiler. So either:
> 
> - the bug is already fixed
> - the bug only appears crossing to sh-elf
> - the bug does not exist with disable-checking so we do not care
> (should we?)
> 
> Joern, can you please check which of the three above applies?

That is had to check at the moment:

../../srcw/gcc/config/sh/sh.c:9416: `DW_CC_renesas_sh' undeclared (first use in this function)
../../srcw/gcc/config/sh/sh.c:9416: (Each undeclared identifier is reported only once
../../srcw/gcc/config/sh/sh.c:9416: for each function it appears in.)
make[1]: *** [sh.o] Error 1
make[1]: Leaving directory `/swbuild/nightly/2004-10-07/sh-elf/gcc'
make: *** [all-gcc] Error 2


-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2004-10-07  6:44 ` amylaar at spamcop dot net
@ 2004-10-07  6:48 ` echristo at redhat dot com
  2004-10-08  9:17 ` amylaar at spamcop dot net
                   ` (16 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: echristo at redhat dot com @ 2004-10-07  6:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From echristo at redhat dot com  2004-10-07 06:48 -------
Subject: Re:  [4.0 regression]
	gcc.dg/c99-intconst-1.c compilation is very slow

On Thu, 2004-10-07 at 00:44, Joern Rennecke wrote:
> > 
> > 
> > ------- Additional Comments From giovannibajo at libero dot it  2004-10-06 23:19 -------
> > I cannot reproduce this on mainline 20040923 on x86-linux with a disable 
> > checking compiler. So either:
> > 
> > - the bug is already fixed
> > - the bug only appears crossing to sh-elf
> > - the bug does not exist with disable-checking so we do not care
> > (should we?)
> > 
> > Joern, can you please check which of the three above applies?
> 
> That is had to check at the moment:
> 
> ../../srcw/gcc/config/sh/sh.c:9416: `DW_CC_renesas_sh' undeclared (first use in this function)
> ../../srcw/gcc/config/sh/sh.c:9416: (Each undeclared identifier is reported only once
> ../../srcw/gcc/config/sh/sh.c:9416: for each function it appears in.)
> make[1]: *** [sh.o] Error 1
> make[1]: Leaving directory `/swbuild/nightly/2004-10-07/sh-elf/gcc'
> make: *** [all-gcc] Error 2

Fixed thusly. Sorry about that.

2004-10-06  Eric Christopher  <echristo@redhat.com>

	* config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
	attribute.



-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2004-10-07  6:48 ` echristo at redhat dot com
@ 2004-10-08  9:17 ` amylaar at spamcop dot net
  2004-10-08 11:57 ` pinskia at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: amylaar at spamcop dot net @ 2004-10-08  9:17 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From amylaar at spamcop dot net  2004-10-08 09:17 -------
Subject: Re:  [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow

> 
> 
> ------- Additional Comments From giovannibajo at libero dot it  2004-10-06 23:19 -------
> I cannot reproduce this on mainline 20040923 on x86-linux with a disable 
> checking compiler. So either:
> 
> - the bug is already fixed

It is not fixed.  This is on an Athlon XP 2800+ (Barton core, 2.08 GHz, dual
channel DDR CL 2.5), while the previous timings were for one of two
Athlon MP 1600+ (1.4 GHz):

amylaar@meolyon:/swbuild/nightly/2004-10-08/sh-elf/gcc/testsuite> time /swbuild/nightly/2004-10-08/sh-elf/gcc/cc1 -fpreprocessed c99-intconst-1.i -dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pedantic-errors -std=iso9899:1999 -version -o c99-intconst-1.s
GNU C version 4.0.0 20041008 (experimental) (sh-elf)
        compiled by GNU C version 3.2.2.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
options passed:  -fpreprocessed -auxbase-strip -pedantic-errors
 -std=iso9899:1999
options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
 -fcommon -feliminate-unused-debug-types -ffunction-cse -fgcse-lm -fident
 -fivopts -fkeep-static-consts -fleading-underscore -floop-optimize2
 -fmath-errno -fpeephole -freg-struct-return -fsched-interblock
 -fsched-spec -fsched-stalled-insns-dep -fsplit-ivs-in-unroller
 -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
 -fvar-tracking -fzero-initialized-in-bss -m1
 foo
 {GC 29627k -> 17760k} {GC 32165k -> 30300k} {GC 47313k -> 37867k}
Execution times (seconds)
 garbage collection    :   0.54 ( 0%) usr   0.00 ( 0%) sys   0.54 ( 0%) wall
 CFG verifier          :   0.25 ( 0%) usr   0.00 ( 0%) sys   0.25 ( 0%) wall
 trivially dead code   :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 life analysis         :   0.20 ( 0%) usr   0.00 ( 0%) sys   0.20 ( 0%) wall
 life info update      :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall
 register scan         :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall
 rebuild jump labels   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 preprocessing         :   0.45 ( 0%) usr   0.33 (22%) sys   0.78 ( 1%) wall
 lexical analysis      :   0.45 ( 0%) usr   0.53 (36%) sys   0.98 ( 1%) wall
 parser                :   1.06 ( 1%) usr   0.37 (25%) sys   1.43 ( 1%) wall
 tree gimplify         :   0.14 ( 0%) usr   0.00 ( 0%) sys   0.14 ( 0%) wall
 tree eh               :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 tree CFG construction :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 tree STMT verifier    :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 expand                :  48.52 (40%) usr   0.10 ( 7%) sys  49.84 (40%) wall
 jump                  :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 flow analysis         :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 local alloc           :   1.34 ( 1%) usr   0.04 ( 3%) sys   1.38 ( 1%) wall
 global alloc          :  65.86 (55%) usr   0.08 ( 5%) sys  66.21 (54%) wall
 flow 2                :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 machine dep reorg     :   0.59 ( 0%) usr   0.01 ( 1%) sys   0.60 ( 0%) wall
 shorten branches      :   0.27 ( 0%) usr   0.00 ( 0%) sys   0.27 ( 0%) wall
 final                 :   0.39 ( 0%) usr   0.00 ( 0%) sys   0.40 ( 0%) wall
 symout                :   0.00 ( 0%) usr   0.02 ( 1%) sys   0.02 ( 0%) wall
 rest of compilation   :   0.24 ( 0%) usr   0.00 ( 0%) sys   0.24 ( 0%) wall
 TOTAL                 : 120.67             1.49           123.66
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.

real    2m3.673s
user    2m0.670s
sys     0m1.490s


-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2004-10-08  9:17 ` amylaar at spamcop dot net
@ 2004-10-08 11:57 ` pinskia at gcc dot gnu dot org
  2004-10-08 23:11 ` joern dot rennecke at superh-support dot com
                   ` (14 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-08 11:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-08 11:57 -------
Since you did not configure with --disable-checking the time is expected to raise.  See the note here:
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.

Can you try with --disable-checking as requested before.

-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2004-10-08 11:57 ` pinskia at gcc dot gnu dot org
@ 2004-10-08 23:11 ` joern dot rennecke at superh-support dot com
  2004-10-08 23:32   ` Diego Novillo
  2004-10-08 23:32 ` dnovillo at redhat dot com
                   ` (13 subsequent siblings)
  24 siblings, 1 reply; 27+ messages in thread
From: joern dot rennecke at superh-support dot com @ 2004-10-08 23:11 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From joern dot rennecke at superh-support dot com  2004-10-08 23:11 -------
Subject: Re:  [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow

 --- pinskia at gcc dot gnu dot org
<gcc-bugzilla@gcc.gnu.org> wrote: 
> 
> ------- Additional Comments From pinskia at gcc dot
> gnu dot org  2004-10-08 11:57 -------
> Since you did not configure with --disable-checking
> the time is expected to raise.  See the note here:
> Extra diagnostic checks enabled; compiler may run
> slowly.
> Configure with --disable-checking to disable checks.
> 
> Can you try with --disable-checking as requested
> before.

The pre-tree-ssa-merge compiler was also compiled with
checking enabled,
and the testcase took only eight seconds on the slower
processor.
That's a factor of sixteen, times the speed
differential of the processors.
Are you suggesting that
a) All or most of the speed regression comes from a
slowdown in
   the --enable-checking code (or more of it)
and
b) We should keep regression tests viable by using --disable-checking?


-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2004-10-08 23:11 ` joern dot rennecke at superh-support dot com
@ 2004-10-08 23:32 ` dnovillo at redhat dot com
  2004-10-09  1:58 ` amylaar at spamcop dot net
                   ` (12 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: dnovillo at redhat dot com @ 2004-10-08 23:32 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dnovillo at redhat dot com  2004-10-08 23:32 -------
Subject: Re:  [4.0 regression]
	gcc.dg/c99-intconst-1.c compilation is very slow

On Fri, 2004-10-08 at 19:11, joern dot rennecke at superh-support dot
com wrote:

> a) All or most of the speed regression comes from a
> slowdown in
>    the --enable-checking code (or more of it)
>
There is a significant amount of new checking code post-tree-ssa. 
However, I think I remember wondering why c99-intconst-1.c takes so long
to compile.

Can you compare pre-tree-ssa and current mainline both with checking
disabled?  ISTR this test generating tons of GIMPLE.


Diego.



-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-10-08 23:11 ` joern dot rennecke at superh-support dot com
@ 2004-10-08 23:32   ` Diego Novillo
  0 siblings, 0 replies; 27+ messages in thread
From: Diego Novillo @ 2004-10-08 23:32 UTC (permalink / raw)
  To: gcc-bugzilla; +Cc: gcc-bugs

On Fri, 2004-10-08 at 19:11, joern dot rennecke at superh-support dot
com wrote:

> a) All or most of the speed regression comes from a
> slowdown in
>    the --enable-checking code (or more of it)
>
There is a significant amount of new checking code post-tree-ssa. 
However, I think I remember wondering why c99-intconst-1.c takes so long
to compile.

Can you compare pre-tree-ssa and current mainline both with checking
disabled?  ISTR this test generating tons of GIMPLE.


Diego.


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2004-10-08 23:32 ` dnovillo at redhat dot com
@ 2004-10-09  1:58 ` amylaar at spamcop dot net
  2004-10-09  2:01 ` pinskia at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: amylaar at spamcop dot net @ 2004-10-09  1:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From amylaar at spamcop dot net  2004-10-09 01:58 -------
Subject: Re:  [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow

> Can you compare pre-tree-ssa and current mainline both with checking
> disabled?  ISTR this test generating tons of GIMPLE.

I've used the tree-ssa-pre-merge tag for the comparison.  The factor
shrinks to ten this way, but I still don't think such a slowdown is
acceptable for an -O0 compilation.

amylaar@meolyon:/swbuild/nightly/2004-10-08/sh-elf/gcc/testsuite> time /swbuild/nightly/2004-05-13/sh-elf/gcc/cc1 -fpreprocessed c99-intconst-1.i -dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pedantic-errors -std=iso9899:1999 -version -o c99-intconst-1.s
GNU C version 3.5.0 20040512 (experimental) (sh-elf)
        compiled by GNU C version 3.2.2.
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64341
options passed:  -fpreprocessed -auxbase-strip -pedantic-errors
 -std=iso9899:1999
options enabled:  -feliminate-unused-debug-types -fpeephole -ffunction-cse
 -fkeep-static-consts -freg-struct-return -fgcse-lm -fgcse-sm -fgcse-las
 -fsched-interblock -fsched-spec -fsched-stalled-insns
 -fsched-stalled-insns-dep -fbranch-count-reg -fcommon -fargument-alias
 -fzero-initialized-in-bss -fident -fmath-errno -ftrapping-math -m1
 foo

Execution times (seconds)
 cfg construction      :   0.06 ( 1%) usr   0.00 ( 0%) sys   0.07 ( 1%) wall
 cfg cleanup           :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 trivially dead code   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 life analysis         :   0.07 ( 2%) usr   0.00 ( 0%) sys   0.07 ( 1%) wall
 life info update      :   0.04 ( 1%) usr   0.00 ( 0%) sys   0.04 ( 1%) wall
 register scan         :   0.03 ( 1%) usr   0.01 ( 1%) sys   0.04 ( 1%) wall
 rebuild jump labels   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 preprocessing         :   0.45 (11%) usr   0.30 (23%) sys   0.70 (13%) wall
 lexical analysis      :   0.60 (14%) usr   0.61 (46%) sys   1.27 (23%) wall
 parser                :   1.24 (30%) usr   0.36 (27%) sys   1.61 (29%) wall
 expand                :   0.25 ( 6%) usr   0.01 ( 1%) sys   0.26 ( 5%) wall
 jump                  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 flow analysis         :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 local alloc           :   0.44 (10%) usr   0.00 ( 0%) sys   0.44 ( 8%) wall
 global alloc          :   0.35 ( 8%) usr   0.00 ( 0%) sys   0.35 ( 6%) wall
 flow 2                :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 machine dep reorg     :   0.11 ( 3%) usr   0.00 ( 0%) sys   0.11 ( 2%) wall
 shorten branches      :   0.08 ( 2%) usr   0.01 ( 1%) sys   0.09 ( 2%) wall
 final                 :   0.14 ( 3%) usr   0.00 ( 0%) sys   0.14 ( 3%) wall
 rest of compilation   :   0.25 ( 6%) usr   0.00 ( 0%) sys   0.25 ( 5%) wall
 TOTAL                 :   4.20             1.32             5.55

real    0m5.562s
user    0m4.200s
sys     0m1.320s
amylaar@meolyon:/swbuild/nightly/2004-10-08/sh-elf/gcc/testsuite> time /swbuild/nightly/2004-10-08/sh-elf-nocheck/gcc/cc1 -fpreprocessed c99-intconst-1.i -dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pedantic-errors -std=iso9899:1999 -version -o c99-intconst-1.s
GNU C version 4.0.0 20041008 (experimental) (sh-elf)
        compiled by GNU C version 3.2.2.
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64341
options passed:  -fpreprocessed -auxbase-strip -pedantic-errors
 -std=iso9899:1999
options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
 -fcommon -feliminate-unused-debug-types -ffunction-cse -fgcse-lm -fident
 -fivopts -fkeep-static-consts -fleading-underscore -floop-optimize2
 -fmath-errno -fpeephole -freg-struct-return -fsched-interblock
 -fsched-spec -fsched-stalled-insns-dep -fsplit-ivs-in-unroller
 -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
 -fvar-tracking -fzero-initialized-in-bss -m1
 foo

Execution times (seconds)
 trivially dead code   :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 life analysis         :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall
 life info update      :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall
 register scan         :   0.04 ( 0%) usr   0.01 ( 1%) sys   0.08 ( 0%) wall
 rebuild jump labels   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 preprocessing         :   0.32 ( 1%) usr   0.34 (24%) sys   0.66 ( 1%) wall
 lexical analysis      :   0.57 ( 1%) usr   0.62 (44%) sys   1.21 ( 2%) wall
 parser                :   1.00 ( 2%) usr   0.36 (25%) sys   1.37 ( 3%) wall
 tree gimplify         :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall
 tree eh               :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 tree CFG construction :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 expand                :  44.46 (85%) usr   0.04 ( 3%) sys  44.70 (83%) wall
 jump                  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 flow analysis         :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 local alloc           :   1.36 ( 3%) usr   0.00 ( 0%) sys   1.36 ( 3%) wall
 global alloc          :   2.49 ( 5%) usr   0.03 ( 2%) sys   2.54 ( 5%) wall
 flow 2                :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 machine dep reorg     :   0.53 ( 1%) usr   0.02 ( 1%) sys   0.55 ( 1%) wall
 shorten branches      :   0.25 ( 0%) usr   0.00 ( 0%) sys   0.25 ( 0%) wall
 final                 :   0.40 ( 1%) usr   0.00 ( 0%) sys   0.40 ( 1%) wall
 rest of compilation   :   0.25 ( 0%) usr   0.00 ( 0%) sys   0.25 ( 0%) wall
 TOTAL                 :  52.26             1.42            54.17

real    0m54.181s
user    0m52.260s
sys     0m1.430s


-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2004-10-09  1:58 ` amylaar at spamcop dot net
@ 2004-10-09  2:01 ` pinskia at gcc dot gnu dot org
  2004-10-09  2:51 ` pinskia at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-09  2:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-09 02:01 -------
This is almost have to be a target problem because x86 and PPC don't have the problem at -O0.

-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2004-10-09  2:01 ` pinskia at gcc dot gnu dot org
@ 2004-10-09  2:51 ` pinskia at gcc dot gnu dot org
  2004-10-09  3:32 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-09  2:51 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-09 02:51 -------
This is a target problem, we are not finding a temp slot which was the same which means that we are 
adding more and more temp slots which causes the problem.  Unlike any other target were we find the 
temp slots.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-10-09 02:51:24
               date|                            |


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (14 preceding siblings ...)
  2004-10-09  2:51 ` pinskia at gcc dot gnu dot org
@ 2004-10-09  3:32 ` pinskia at gcc dot gnu dot org
  2004-10-09  3:43 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-09  3:32 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-09 03:32 -------
I think I found the problem, the problem is in find_temp_slot_from_address, we have an off by one error 
in which means that we are adding a temp slot level each time we call find_temp_slot_from_address.

-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (15 preceding siblings ...)
  2004-10-09  3:32 ` pinskia at gcc dot gnu dot org
@ 2004-10-09  3:43 ` pinskia at gcc dot gnu dot org
  2004-10-09  4:27 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-09  3:43 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-09 03:43 -------
This patch should solve the problem, what I had said was a problem was not quite true.  The problem is 
that we were creating new temp slots level (which I said) but it was not an off by one error in the 
function which I said but one in temp_slots_at_level.
Index: function.c
===============================================================
====
RCS file: /cvs/gcc/gcc/gcc/function.c,v
retrieving revision 1.581
diff -u -p -r1.581 function.c
--- function.c	8 Oct 2004 19:59:25 -0000	1.581
+++ function.c	9 Oct 2004 03:40:50 -0000
@@ -538,7 +538,7 @@ temp_slots_at_level (int level)
   if (!used_temp_slots)
     VARRAY_GENERIC_PTR_INIT (used_temp_slots, 3, "used_temp_slots");
 
-  while (level >= (int) VARRAY_ACTIVE_SIZE (used_temp_slots))
+  while (level > (int) VARRAY_ACTIVE_SIZE (used_temp_slots))
     VARRAY_PUSH_GENERIC_PTR (used_temp_slots, NULL);
 
   return (struct temp_slot **) &VARRAY_GENERIC_PTR (used_temp_slots, level);


I will post the patch after a test rule on powerpc-darwin.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (16 preceding siblings ...)
  2004-10-09  3:43 ` pinskia at gcc dot gnu dot org
@ 2004-10-09  4:27 ` pinskia at gcc dot gnu dot org
  2004-10-09  4:48 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-09  4:27 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-09 04:27 -------
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2004-10/msg00806.html>, I posted my timings for 
the patch with checking still turned on which show global alloc as huge problem but almost all of that 
time comes from checking still on as you showed with the timings you gave.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (17 preceding siblings ...)
  2004-10-09  4:27 ` pinskia at gcc dot gnu dot org
@ 2004-10-09  4:48 ` pinskia at gcc dot gnu dot org
  2004-10-09  5:04 ` pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-09  4:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-09 04:47 -------
I needed to test the patch a little further which was wrong.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|patch                       |


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (18 preceding siblings ...)
  2004-10-09  4:48 ` pinskia at gcc dot gnu dot org
@ 2004-10-09  5:04 ` pinskia at gcc dot gnu dot org
  2004-10-11 18:32 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-09  5:04 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-09 05:03 -------
The right patch is posted here: <http://gcc.gnu.org/ml/gcc-patches/2004-10/msg00808.html> 
unlike the one posted in the PR, this one actually works.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (20 preceding siblings ...)
  2004-10-11 18:32 ` pinskia at gcc dot gnu dot org
@ 2004-10-11 18:32 ` cvs-commit at gcc dot gnu dot org
  2004-11-17 18:02 ` fjahanian at apple dot com
                   ` (2 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-10-11 18:32 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-10-11 18:32 -------
Subject: Bug 16266

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	pinskia@gcc.gnu.org	2004-10-11 18:32:42

Modified files:
	gcc            : ChangeLog function.c 

Log message:
	2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu
	
	PR middle-end/16266
	* function.c (temp_slots_at_level): Fix typo which creates too
	many temp stack slots levels.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.5836&r2=2.5837
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/function.c.diff?cvsroot=gcc&r1=1.581&r2=1.582



-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (19 preceding siblings ...)
  2004-10-09  5:04 ` pinskia at gcc dot gnu dot org
@ 2004-10-11 18:32 ` pinskia at gcc dot gnu dot org
  2004-10-11 18:32 ` cvs-commit at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-11 18:32 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-11 18:32 -------
Fixed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (21 preceding siblings ...)
  2004-10-11 18:32 ` cvs-commit at gcc dot gnu dot org
@ 2004-11-17 18:02 ` fjahanian at apple dot com
  2004-11-17 18:14 ` pinskia at gcc dot gnu dot org
  2004-11-17 18:17 ` pinskia at gcc dot gnu dot org
  24 siblings, 0 replies; 27+ messages in thread
From: fjahanian at apple dot com @ 2004-11-17 18:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From fjahanian at apple dot com  2004-11-17 18:02 -------
Following patch has broken many dejagnu tests on apple-ppc-darwing with -mcpu=G5.

http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/function.c.diff?cvsroot=gcc&r1=1.581&r2=1.582

 FAIL: gcc.c-torture/execute/20041011-1.c compilation,  -O1
  FAIL: gcc.c-torture/execute/20041011-1.c compilation,  -O2
  FAIL: gcc.c-torture/execute/950612-1.c compilation,  -O1
  FAIL: gcc.c-torture/execute/950612-1.c compilation,  -O2
  FAIL: gcc.c-torture/execute/950612-1.c compilation,  -Os
  FAIL: gcc.c-torture/execute/ashldi-1.c compilation,  -O1
  FAIL: gcc.c-torture/execute/ashrdi-1.c compilation,  -O1
  FAIL: gcc.c-torture/execute/ashrdi-1.c compilation,  -O2
  FAIL: gcc.c-torture/execute/ashrdi-1.c compilation,  -O3 -fomit-frame-pointer
  FAIL: gcc.c-torture/execute/ashrdi-1.c compilation,  -O3 -fomit-frame-pointer -funroll-loops
  FAIL: gcc.c-torture/execute/ashrdi-1.c compilation,  -O3 -fomit-frame-pointer -funroll-all-loops 
-finline-functions
  FAIL: gcc.c-torture/execute/ashrdi-1.c compilation,  -O3 -g
  FAIL: gcc.c-torture/execute/ashrdi-1.c compilation,  -Os
  FAIL: gcc.c-torture/execute/lshrdi-1.c compilation,  -O1


-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (22 preceding siblings ...)
  2004-11-17 18:02 ` fjahanian at apple dot com
@ 2004-11-17 18:14 ` pinskia at gcc dot gnu dot org
  2004-11-17 18:17 ` pinskia at gcc dot gnu dot org
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-17 18:14 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-17 18:13 -------
I assume that this is a latenet bug exposed by my patch, see
<http://gcc.gnu.org/ml/gcc-patches/2004-11/msg01110.html> for a patch from Dale which might 
solve this.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fjahanian at apple dot com


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Bug middle-end/16266] [4.0 regression] gcc.dg/c99-intconst-1.c compilation is very slow
  2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
                   ` (23 preceding siblings ...)
  2004-11-17 18:14 ` pinskia at gcc dot gnu dot org
@ 2004-11-17 18:17 ` pinskia at gcc dot gnu dot org
  24 siblings, 0 replies; 27+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-17 18:17 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-17 18:16 -------
In fact I just tested that patch and fixes the problem.

-- 


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


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2004-11-17 18:17 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-06-29 14:08 [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow amylaar at gcc dot gnu dot org
2004-06-29 14:34 ` [Bug regression/16266] [3.5 regression] " pinskia at gcc dot gnu dot org
2004-06-29 14:39 ` reichelt at gcc dot gnu dot org
2004-06-29 16:06 ` joern dot rennecke at superh dot com
2004-06-29 17:05 ` joern dot rennecke at superh dot com
2004-08-15  3:30 ` [Bug middle-end/16266] " pinskia at gcc dot gnu dot org
2004-10-06 23:19 ` [Bug middle-end/16266] [4.0 " giovannibajo at libero dot it
2004-10-07  6:44 ` amylaar at spamcop dot net
2004-10-07  6:48 ` echristo at redhat dot com
2004-10-08  9:17 ` amylaar at spamcop dot net
2004-10-08 11:57 ` pinskia at gcc dot gnu dot org
2004-10-08 23:11 ` joern dot rennecke at superh-support dot com
2004-10-08 23:32   ` Diego Novillo
2004-10-08 23:32 ` dnovillo at redhat dot com
2004-10-09  1:58 ` amylaar at spamcop dot net
2004-10-09  2:01 ` pinskia at gcc dot gnu dot org
2004-10-09  2:51 ` pinskia at gcc dot gnu dot org
2004-10-09  3:32 ` pinskia at gcc dot gnu dot org
2004-10-09  3:43 ` pinskia at gcc dot gnu dot org
2004-10-09  4:27 ` pinskia at gcc dot gnu dot org
2004-10-09  4:48 ` pinskia at gcc dot gnu dot org
2004-10-09  5:04 ` pinskia at gcc dot gnu dot org
2004-10-11 18:32 ` pinskia at gcc dot gnu dot org
2004-10-11 18:32 ` cvs-commit at gcc dot gnu dot org
2004-11-17 18:02 ` fjahanian at apple dot com
2004-11-17 18:14 ` pinskia at gcc dot gnu dot org
2004-11-17 18:17 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).