Concretize gimple_call_set_tail and gimple_call_tail_p
commiteaad64ee5d9d4312a672141e9e42f0c174e6d968
authorDavid Malcolm <dmalcolm@redhat.com>
Fri, 20 Dec 2013 23:26:43 +0000 (20 18:26 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Fri, 24 Oct 2014 21:25:35 +0000 (24 17:25 -0400)
tree6b44e0c27067c36238fd273fb1987dc0ddbb7838
parent18b76bf3e4224049d6ca6e70e04528e732d6704d
Concretize gimple_call_set_tail and gimple_call_tail_p

This corresponds to:
  [PATCH 83/89] Concretize gimple_call_set_tail and gimple_call_tail_p
  https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01172.html
from the original 89-patch kit

That earlier patch was approved by Jeff:
> OK once prereqs go in.
in https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00859.html

gcc/
* gimple.h (gimple_call_set_tail): Require a gimple_call.
(gimple_call_tail_p): Likewise.

* cfgexpand.c (expand_gimple_tailcall): Likewise.
(expand_gimple_basic_block): Convert calls to is_gimple_call to a
dyn_cast, introducing a new "call_stmt" local.

* trans-mem.c (expand_block_edges): Likewise, for comparison against
GIMPLE_CALL.

* tree-inline.c (remap_gimple_stmt): Add checked casts to
gimple_call in region guarded by is_gimple_call.

* tree-tailcall.c (optimize_tail_call): Add checked cast to gimple_call
for t->call_gsi.
gcc/ChangeLog.gimple-classes
gcc/cfgexpand.c
gcc/gimple.h
gcc/trans-mem.c
gcc/tree-inline.c
gcc/tree-tailcall.c