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