This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] Block merging (updated)
- From: "Zack Weinberg" <zack at codesourcery dot com>
- To: law at redhat 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 12:53:04 -0800
- Subject: Re: [tree-ssa] Block merging (updated)
- References: <200401132000.i0DK0hYS025517@speedy.slc.redhat.com>
> In message <email@example.com>, "Zack Weinberg" writes:
> >Perhaps it is time to reexamine this policy.
> Then reexamine it for GCC as whole -- we're certainly not going to make
> this kind of policy change on tree-ssa unless GCC as a whole buys into
> the policy change.
> In the mean time, I'd like to see Zdenek's patch adhere to current
> policies and get installed. If we choose to change policy in the
> future, then we can simply remove special casing blocks headed by
> user defined labels in Zdenek's code and elsewhere in GCC.
> >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.
> 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.
This is not my experience - what seems to happen to me is the
NOTE_INSN_DELETED_LABEL gets moved (not sure by which pass) all the
way to the end of the function.