> The CLEANUP_CFG_CHANGED path looks unnecessary, it looks like this is > mostly for repairing loops but I don't see a reason for this in > postreload (loops have been freed at that point). I could do > cleanup_cfg(0) but there shouldn't be much to clean up other than > unreachable blocks. I see delete_unreachable_blocks used a lot too. > But I have no strong preference either way. Do you think I should use > cleanup_cfg instead?
That would be my personal preference, yes. It was cheap last time I measured and I think it's the right abstraction here: if you remove edges from the CFG or apply some similar transformation, you need a cleanup_cfg(0) at the end. -- Eric Botcazou