This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Block merging (updated)
- From: law at redhat dot com
- To: "Zack Weinberg" <zack at codesourcery dot com>
- Cc: Michael Matz <matz at suse dot de>, Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, Steven Bosscher <s dot bosscher at student dot tudelft dot nl>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 13 Jan 2004 13:17:10 -0700
- Subject: Re: [tree-ssa] Block merging (updated)
- Reply-to: law at redhat dot com
In message <87zncrzlfz.fsf@egil.codesourcery.com>, "Zack Weinberg" writes:
>law@redhat.com writes:
>
>> I didn't say we have [preserved user labels] forever. I said it is
>> policy. There is a subtle, but important difference.
>
>Perhaps it is time to reexamine this policy.
>
>The optimizers tend to move NOTE_INSN_DELETED_LABELs to completely
>random locations, so setting breakpoints on the resulting labels does
>nothing useful. I'd much rather see "label optimized out" from gdb
>than an apparently successful breakpoint which then fails to trigger.
>
>On the other side of it, increasing amounts of special case code to
>preserve user labels, interfering with writing optimizations
>naturally, is not good.
I'll also note that in the case of block merging, if you try to put a
breakpoint on the "deleted" user label, you'll may get a breakpoint
in a meaningful location -- we don't guarantee a meaningful location,
but if the merged blocks were contiguous at the time of the merge, then
the breakpoint ought to trigger in a meaningful location.
jeff