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