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: [tree-ssa] Block merging (updated)


law@redhat.com writes:

> In message <87zncrzlfz.fsf@egil.codesourcery.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.

Fair enough.

>  >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.

zw


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