On Sun, Oct 7, 2012 at 5:59 PM, Vladimir Makarov wrote:
> The following patch speeds LRA up more on PR54146.  Below times for
> compilation of the test on gcc17.fsffrance.org (an AMD machine):
>
> Before:
> real=1214.71 user=1192.05 system=22.48
> After:
> real=1144.37 user=1124.31 system=20.11

Hi Vlad,

The next bottle-neck in my timings is in
lra-eliminate.c:lra_eliminate(), in this loop:

   FOR_EACH_BB (bb)
     FOR_BB_INSNS_SAFE (bb, insn, temp)
       {
       if (bitmap_bit_p (&insns_with_changed_offsets, INSN_UID (insn)))
          process_insn_for_elimination (insn, final_p);
       }

The problem is in bitmap_bit_p. Random access to a large bitmap can be
very slow.

I'm playing with a patch to expand the insns_with_changed_offsets
bitmap to an sbitmap, and will send a patch if this works better.

Ciao!
Steven

Reply via email to