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


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

Re: Disable accumulate-outgoing-args for Generic and Buldozers


On Tue, Jan 28, 2014 at 12:56:28AM +0100, Jan Hubicka wrote:
> > On Mon, Jan 27, 2014 at 11:19:39PM +0100, Jakub Jelinek wrote:
> > > > Are you sure this is a good idea even for 32-bit code (i.e. shouldn't we
> > > > have separate tunables for 32-bit and 64-bit code)?
> > > > I admit I haven't performed trunk bootstraps/regtests for 3 days, am doing
> > > > x86_64 and i686 bootstraps/regtests concurrently and it is yes,rtl checking,
> > > > but am quite surprised that compared to 3 days ago the bootstrap time of
> > > > i686-linux (all,obj-c++,go) went up from about 70 minutes or so to 140 minutes today,
> > > > while the x86_64-linux (all,obj-c++,go,ada) remained basically the same
> > > > around 2 hours.  This is on quad socket Quad-Core AMD Opteron(tm) Processor 8354,
> > > > perhaps it is just extremely undesirable there.
> > > 
> > > Most likely the big slowdown is var-tracking, at least stage2 insn-recog.o
> > > (yes,rtl checking on i686-linux) took <= 23 minutes to compile and stage3
> > > <= 62 minutes, with 45 minutes from that only spent on compiling
> > > insn-recog.o and nothing else.
> > 
> > Note, looking at the previous bootstraps before your change, insn-recog.o
> > was taking <= 15-16 minutes to compile both in stage2 and stage3 (the <=
> > stands for comparison of oldest *.o file in {,prev-}gcc/ directory and
> > insn-recog.o, but for the latest bootstrap stage3 I remember seeing in top
> > 58 minutes and it was still compiling, haven't looked exactly when it
> > stopped).  In any case, most likely it doesn't mean actual slow down in
> > performance of generated code, but medium slowdown in non-g compile time
> > of extreme testcase and -g compile time going wild.
> 
> I wonder if this is just some of --enable-checking tests in dwarf2out going wild
> or if it is just expensive sanity checking code?
> I used to have chroot environment for 32bit builds, I will need to re-install it now.

 variable tracking       :2914.85 (83%) usr   1.88 ( 7%) sys2931.22 (82%) wall   80844 kB ( 3%) ggc
 var-tracking dataflow   :  18.19 ( 1%) usr   0.19 ( 1%) sys  18.49 ( 1%) wall   10899 kB ( 0%) ggc
 var-tracking emit       :  29.41 ( 1%) usr   0.11 ( 0%) sys  29.65 ( 1%) wall  148128 kB ( 6%) ggc
 TOTAL                 :3525.97            25.73          3570.33            2321043 kB

So, strangely both vt_find_locations and vt_emit_notes, typically the most expensive ones,
are quite unexpensive and most of the time is spent elsewhere, in vt_initialize?

	Jakub


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