On Mon, Aug 27, 2012 at 10:32 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
>> This patch fixes the problem by deleting unreachable basic blocks if
>> edges were purged during a reload-cse transformation on an insn. I
>> didn't add a test case because reliably triggering problems this late
>> in the pass pipeline is so hard.
>
> A pervasive idiom in the RTL land is to call cleanup_cfg (0) in this case (and
> Richard recently added the cleanup_cfg (CLEANUP_CFG_CHANGED) variant).  Any
> reason not to use it?  Are you concerned about compilation time here?

No, I just didn't know this :-)

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?

Ciao!
Steven

Reply via email to