https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68173

--- Comment #14 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 20 Nov 2015, vmakarov at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68173
> 
> --- Comment #13 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
> (In reply to Richard Biener from comment #12)
> > callgrind points at bitmap_set_bit called via process_bb_lives ->
> > mark_regno_dead.
> > Maybe some code in that (the DCE code?) can be keyed on if (optimize).
> > 
> > in mark_regno_dead callgrind points to
> > 
> >       bitmap_set_bit (bb_killed_pseudos, regno);
> > 
> > being the expensive one.
> 
> I've tried to implement bb_killed_pseudos and bb_gen_pseudos as 
> sparsesets but it gave nothing in term of compiler speed.  I think the 
> major problem is in processing too many pseudos in -O0 mode which are 
> about 1000 times more than in -O2 mode.

Yeah, but without optimization we can't do sth about that (well, do
more coalescing maybe, but as said coalescing is O(n^2) because of
liveness - so we'd run into the very same issue there).

Reply via email to