Thanks Paolo for the detailed explanation! On Fri, 8 Jul 2011, Paolo Bonzini wrote:
That said, changing exit_block_uses and entry_block_defs to HARD_REG_SET would be a nice cleanup, but it would also touch target code due to targetm.extra_live_on_entry (entry_block_defs);
I've already done that :-p
I wouldn't bother for now until you're a bit more experienced. Unlike invalidated_by_call it shouldn't show up in profiles, or does it?
Indeed it doesn't show, I just wanted to do it as a clean-up for transitioning to HARD_REG_SET all relevant sets in struct df_d.
The only problem remaining is I need a bitmap_copy_from_hard_reg_set() function for df_lr_local_compute(), where the bb_info->use bitmap is initialised from the exit_block_uses HARD_REG_SET.
Dimitris