This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Block merging (updated)
Hello,
> + /* Remove labels from B and set bb_for_stmt to A for other statements. */
> + for (bsi = bsi_start (b); !bsi_end_p (bsi);)
> + {
> + if (TREE_CODE (bsi_stmt (bsi)) == LABEL_EXPR)
> + bsi_remove (&bsi);
> + else
> + {
> + set_bb_for_stmt (bsi_stmt (bsi), a);
> + bsi_next (&bsi);
> + }
> + }
>
>
> This will remove user-declared labels. IIRC some people wanted these to be
> preserved, e.g. for debugging purposes. Perhaps tree_can_merge_blocks_p
> should be false if a user label heads the basic block.
there is IMHO no point in this, since rtl level cfgcleanup would do the
merging and removing of the label anyway.
Zdenek