public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* Re: speeding up enable checking
@ 2000-07-23  6:25 Kaveh R. Ghazi
  2000-07-24  9:27 ` Jeffrey A Law
  0 siblings, 1 reply; 2+ messages in thread
From: Kaveh R. Ghazi @ 2000-07-23  6:25 UTC (permalink / raw)
  To: law; +Cc: dje, gcc-bugs, gcc-patches, geoffk, mark

 > From: Jeffrey A Law <law@cygnus.com>
 > 
 > Cheers,
 > 
 > 	* flow.c (verify_flow_info): Revamp code to verify that the
 > 	head and end of each basic block are in the insn chain.

Hi Jeff,

The above patch made a *great* improvement in unoptimized compilation
of the problem code I reported a couple of days ago in:

http://gcc.gnu.org/ml/gcc-bugs/2000-07/msg00522.html
http://gcc.gnu.org/ml/gcc-bugs/2000-07/msg00525.html

The unoptimized compile went from 20 minutes to 1.5.  Profiling showed
verify_flow_info went from 90% down to around 1%.  Great job!



However an *optimized* compile (-S -g -O2) of the example code still
takes over half an hour and consumes over 400Mb on my
i686-pc-linux-gnu -> powerpc-ibm-aix4.1.4.0 cross compile attempts.

(Note the code is the result of creating insn-extract.i on a
powerpc-ibm-aix4.1.4.0 RTL check bootstrap.  I've had to move the .i
code off of my AIX4 box and try cross compiles on an x86-linux system
instead for three reasons.  One is system resources, the AIX4 box runs
out of memory.  Two is speed, the AIX4 box would takes forever to
finish.  Third, profiling is currently totally broken in the ppc
backend.)

I've attached the first few lines of the gprof output as well as the
most recent insn-extract.i file.  Although this particular code arose
from insn-extract.c.  I get similarly long but not quite fatal
resource consumption building insn-recog.c, but hopefully solving
extract will fix recog.

Would you please take a look and see if you can solve this performance
problem?  I'm more worried about the excessive memory consumption than
the CPU time since running out of memory prevents any compilation at
all.  That in turn prevents an RTL check bootstrap on AIX4.1.

		Thanks,
		--Kaveh

 > Flat profile:
 > 
 > Each sample counts as 0.01 seconds.
 >   %   cumulative   self              self     total
 >  time   seconds   seconds    calls  ms/call  ms/call  name
 >  26.07    241.36   241.36        3 80453.33 82600.42  compute_hash_table
 >   8.14    316.74    75.38    34027     2.22     2.22  compute_transp
 >   6.33    375.38    58.64    25710     2.28     2.28  sbitmap_difference
 >   4.94    421.15    45.77    14590     3.14     3.26  compute_block_backward_dependences
 >   4.55    463.27    42.12   555270     0.08     0.08  sbitmap_union_of_diff
 >   3.78    498.30    35.03  5539159     0.01     0.02  cse_insn
 >   3.14    527.37    29.07                             htab_traverse
 >   2.98    554.94    27.57     7422     3.71     3.71  clear_table
 >   2.01    573.57    18.63       40   465.75   465.75  sbitmap_vector_alloc
 >   1.40    586.54    12.97     7415     1.75     1.75  sbitmap_a_and_b_or_c
 >   1.38    599.30    12.76        1 12760.00 13245.20  pre_edge_insert
 >   1.23    610.67    11.37        3  3790.00 28964.57  compute_local_properties
 >   1.03    620.20     9.53        1  9530.00  9530.00  mirror_conflicts
 >   1.03    629.70     9.50  7590943     0.00     0.00  fold_rtx



begin 644 insn-extract.i.gz
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
5KY.)OA!/_G'TQ]'_#ST^F+.UK@P 
 
end
>From doko@cs.tu-berlin.de Sun Jul 23 06:27:00 2000
From: Matthias Klose <doko@cs.tu-berlin.de>
To: gcc-bugs@gcc.gnu.org
Cc: 65686@bugs.debian.org
Subject: fatal signal 11 in gcc-2.95.2 and CVS 20000720 (i386-linux)
Date: Sun, 23 Jul 2000 06:27:00 -0000
Message-id: <14714.61892.104004.480760@gargle.gargle.HOWL>
X-SW-Source: 2000-07/msg00590.html
Content-length: 198

[please CC 65686@bugs.debian.org on replies]

void f()
{
  char p[][3] = (char [][]){ "foo" };
}

$ gcc -Wall !$
gcc -Wall bug-65686.c
gcc: Internal compiler error: program cc1 got fatal signal 11


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

* Re: speeding up enable checking
  2000-07-23  6:25 speeding up enable checking Kaveh R. Ghazi
@ 2000-07-24  9:27 ` Jeffrey A Law
  0 siblings, 0 replies; 2+ messages in thread
From: Jeffrey A Law @ 2000-07-24  9:27 UTC (permalink / raw)
  To: Kaveh R. Ghazi; +Cc: dje, gcc-bugs, gcc-patches, geoffk, mark

  In message < 200007231324.JAA02759@caip.rutgers.edu >you write:
  > However an *optimized* compile (-S -g -O2) of the example code still
  > takes over half an hour and consumes over 400Mb on my
  > i686-pc-linux-gnu -> powerpc-ibm-aix4.1.4.0 cross compile attempts.
  > 
  > (Note the code is the result of creating insn-extract.i on a
  > powerpc-ibm-aix4.1.4.0 RTL check bootstrap.  I've had to move the .i
  > code off of my AIX4 box and try cross compiles on an x86-linux system
  > instead for three reasons.  One is system resources, the AIX4 box runs
  > out of memory.  Two is speed, the AIX4 box would takes forever to
  > finish.  Third, profiling is currently totally broken in the ppc
  > backend.)
Well, you mean you can't hold 400+M in-core?  Jeez, what a lame little box
you have  :-)  For reference my old HP D390 compiles it in about 7 minutes
with optimization :-)  Of course it has 1.5G of memory.  Anyway....

The fundamental problems:

 120k insns
  30k expressions  *** This one is the key ***
  78k registers    *** And this one *** 
  11k edges
   7k basic blocks

Not surprisingly optimizing a function of this nature takes a lot of
memory -- probably more than you have in-core and you're paging/swapping
to death (which is probably why it is so sloooooow).

The bad news -- there aren't any significant memory leaks in gcse.  Everything
of any significant size is returned.

The good news, I did find two bitmaps that were not needed at all, killing
them got back ~30M and there are a couple that we can free up earlier than
the code currently does (though not early enough to reduce the peak usage),
but giving them back earlier can help paging/swapping behavior.

With those changes it manages to get through gcse in less than 400M.

[ What should really be done for gcse is use the blocking factor code 
  to reduce the number of expressions we optimize on any given run.  I
  don't have time to look at this, but you might be able to by using the
  code in delete_null_pointer_checks as a guide. ]

You might be able to improve this by squashing the register #s (it's
probably about 75% populated) and maybe the insn #s (not sure how
full it is).

Anyway, I've got other things I need to be looking at -- if you want to
investigate more, I recommend looking into the code to optimize hunks
of expressions instead of all of them in parallel -- or find a way to
simplify the RTL checking code :-)

jeff


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

end of thread, other threads:[~2000-07-24  9:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-23  6:25 speeding up enable checking Kaveh R. Ghazi
2000-07-24  9:27 ` Jeffrey A Law

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