Introduce gimple_resx
commit53b17ee90d7b80c4947e34eeccc936241a8dca04
authorDavid Malcolm <dmalcolm@redhat.com>
Mon, 16 Dec 2013 18:49:03 +0000 (16 13:49 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Fri, 24 Oct 2014 21:24:12 +0000 (24 17:24 -0400)
tree7fc38a555b000902e96cd442635530e9e99a549c
parent6fc6973e0e091d6fac2b3bedda3c0b4a880bf317
Introduce gimple_resx

This corresponds to:
  [PATCH 29/89] Introduce gimple_resx
  https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01161.html
from the original 89-patch kit

That earlier patch was approved by Jeff:
> OK after fixing up the naming/const stuff as discussed for prior
> patches.
> That applies to 22-30. Make sure to take care of
> the pretty printers per Trevor's comments as well. He indicated those
> were missing in a couple of those patches.
in https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00628.html

gcc/
* coretypes.h (gimple_resx): New typedef.
(const_gimple_resx): New typedef.

* gimple.h (gimple_build_resx): Return a gimple_resx rather than a
plain gimple.
(gimple_resx_region): Require a const_gimple_resx rather than a
plain const_gimple.
(gimple_resx_set_region): Require a gimple_resx rather than a
plain gimple.

* gimple-pretty-print.c (dump_gimple_resx): Require a gimple_resx
rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_resx within
GIMPLE_RESX case of switch statement.

* gimple-streamer-in.c (input_gimple_stmt): Likewise.

* gimple-streamer-out.c (output_gimple_stmt): Likewise.

* gimple.c (gimple_build_resx): Return a gimple_resx rather than
a plain gimple.

* tree-cfg.c (move_stmt_r): Add a checked cast to gimple_resx
within GIMPLE_RESX case of switch statement, adding a new local.

* tree-eh.c (emit_resx): Convert local "x" from gimple to
gimple_resx.
(lower_resx): Require a gimple_resx rather than a plain gimple.
(pass_lower_resx::execute): Add a checked cast to gimple_resx.
(mark_reachable_handlers): Likewise.

* tree-inline.c (remap_gimple_stmt): Add a checked cast to
gimple_resx within GIMPLE_RESX case of switch statement, adding
a new local.
gcc/ChangeLog.gimple-classes
gcc/coretypes.h
gcc/gimple-pretty-print.c
gcc/gimple-streamer-in.c
gcc/gimple-streamer-out.c
gcc/gimple.c
gcc/gimple.h
gcc/tree-cfg.c
gcc/tree-eh.c
gcc/tree-inline.c