This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] PR middle-end/54385


On Mon, Aug 27, 2012 at 10:32 PM, Eric Botcazou <ebotcazou@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]