More MUST_NOT_THROW region cleanups
Diego Novillo
dnovillo@google.com
Mon Mar 30 20:15:00 GMT 2009
On Mon, Mar 30, 2009 at 12:57, Jan Hubicka <hubicka@ucw.cz> wrote:
> The patch eliminates about half of the regions on tramp3d saving
Nice.
> + /* MUST_NOT_THROW regions without local handler are all the same; they
> + trigger terminate call in runtime.
> + MUST_NOT_THROW handled locally can differ in debug info associated
> + to std::terminate () call or if one is comming from Java and other
s/comming/coming/
> + from C++ whether they call terminate or abort.
> +
> + We merge all runtime handler MUST_NOT_THROW region into single
I can't parse this.
> + Merging of local receivers can not be done without redirecting CFG
> + and is job for crossjumping that can decide whether cleanup really
> + is the same. */
Nor this.
> +
> + if (local_must_not_throw)
> + first_must_not_throw = local_must_not_throw;
> +
> + for (i = 0; VEC_iterate (eh_region, must_not_throws, i, r); i++)
> + {
> + if (!r->label && !r->tree_label && r != first_must_not_throw)
> + {
> + if (dump_file)
> + fprintf (dump_file, "Replacing MUST_NOT_THROW region %i by %i\n",
s/by/with/
OK otherwise.
Diego.
More information about the Gcc-patches
mailing list