On Fri, Jul 08, 2011 at 06:20:04AM +0300, Dimitrios Apostolou wrote:
> The attached patch does two things for df_get_call_refs():
> * First it uses HARD_REG_SETs for defs_generated and
> regs_invalidated_by_call, instead of bitmaps. Replacing in total
> more than 400K calls (for my testcase) to bitmap_bit_p() with the
> much faster TEST_HARD_REG_BIT, reduces the total instruction count
> from about 13M to 1.5M.
Have you verified that collection_rec->def_vec never contains pseudo
register references? Otherwise you couldn't use
HARD_REG_SET... gcc_checking_assert might be useful.
Also, a nit, space should be added before (.
CLEAR_HARD_REG_SET(defs_generated);
Jakub