This is the mail archive of the gcc@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]

Re: big slowdown in egcs-1.1.2->gcc-2.95 on alpha


> 
> > The biggest time sink seems to be the quadratic algorithm in prune_preferences
> > in global.c.
> 
> Hmm, I wonder if the CONFLICT_P tests take a lot of time, or if the rest
> of the operations in the inner loop cost more.
> 
> I wonder if this works:
> 
Sorry, no, it made little difference:

Flat profile:

Each sample counts as 0.000976562 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 35.63     55.32    55.32       16  3457.52  3458.44  prune_preferences
 12.51     74.75    19.43 391960848     0.00     0.00  bitmap_bit_p
  7.40     86.24    11.49   202789     0.06     0.06  record_one_conflict
  7.20     97.41    11.17       24   465.58  1218.03  build_insn_chain
  1.55     99.83     2.41        8   301.76 19347.54  yyparse
  1.49    102.13     2.31 27806760     0.00     0.00  count_pseudo

Here are some more details about global_alloc, prune_preferences,
and build_insn_chain.

-----------------------------------------------
                0.08   99.53      24/24          rest_of_compilation [5]
[6]     64.1    0.08   99.53      24         global_alloc [6]
               55.32    0.01      16/16          prune_preferences [7]
               11.17   18.06      24/24          build_insn_chain [8]
                0.24   10.63      24/24          reload [13]
                0.12    2.22      16/16          global_conflicts [33]
                1.66    0.00    1436/1436        find_reg [39]
                0.08    0.01      16/16          expand_preferences [256]
                0.00    0.00      24/220059      xmalloc [479]
                0.00    0.00      48/5488        get_insns [995]
-----------------------------------------------
               55.32    0.01      16/16          global_alloc [6]
[7]     35.6   55.32    0.01      16         prune_preferences [7]
                0.01    0.00   78844/334068      reg_preferred_class [306]
-----------------------------------------------
               11.17   18.06      24/24          global_alloc [6]
[8]     18.8   11.17   18.06      24         build_insn_chain [8]
               17.40    0.00 350981800/391960848     bitmap_bit_p [9]
                0.02    0.43  174187/5402847     note_stores [10]
                0.08    0.01  194131/194131      new_insn_chain [263]
                0.05    0.00  388262/574314      bitmap_copy [293]
                0.04    0.00  574446/16720630     bitmap_set_bit [48]
                0.01    0.02   88014/88014       reg_dies [385]
                0.00    0.00   34596/3151441     bitmap_clear [204]
                0.00    0.00      24/1004613     bitmap_initialize [401]
-----------------------------------------------

Brad Lucier     lucier@math.purdue.edu

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