------- Comment #23 from rguenther at suse dot de 2007-11-01 21:01 ------- Subject: Re: [4.3 Regression] slow compilation on ia64 (postreload scheduling)
On Thu, 1 Nov 2007, jakub at gcc dot gnu dot org wrote: > ------- Comment #22 from jakub at gcc dot gnu dot org 2007-11-01 20:59 > ------- > The most important cause of the slowdown e.g. compared to 4.2.x is the totally > insane thing -ftree-pre creates though. > For -O3 -fno-tree-vectorize -fdump-tree-all pr33922.c > wc -l shows > 2361 pr33922.c.090t.sink > while for -O3 -fno-tree-vectorize -fno-tree-pre -fdump-tree-all pr33922.c > 324 pr33922.c.090t.sink > and of course the size of assembly corresponds to this: > 11400 pr33922.s # -O3 -fno-tree-vectorize > 195 pr33922.s # -O3 -fno-tree-vectorize -fno-tree-pre > > -O3 -fno-tree-vectorize -fdump-tree-pre-all dump contains > 2081 ^Created.*value lines and all those constants are actually created and > many PHI nodes as well. I believe this might be what nickc was trying to fix > today by adding a limit, but wasn't that limit huge (131072 bits)? The limit was to cut off exponential behavior. But yes, PRE (and more PPRE) is known to increase code-size. Looks like some better heuristics are needed. Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33922