Concretize various expressions from gimple to gimple_cond
commitce9c7876ddfaf92cc0203f20ba2f2c661758b9fd
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 27 Mar 2014 16:22:33 +0000 (27 12:22 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Fri, 24 Oct 2014 21:25:26 +0000 (24 17:25 -0400)
treee6fb8ae7032c01ccab695b3173d06be8db525771
parentef47fb8ba050102e6c9de11244127185fe6530cf
Concretize various expressions from gimple to gimple_cond

This corresponds to:
  [PATCH 77/89] Concretize various expressions from gimple to gimple_cond
  https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01196.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/msg00858.html

gcc/
* ipa-split.c (check_forbidden_calls): Replace check against
GIMPLE_COND with a dyn_cast<gimple_cond>, introducing a
gimple_cond local.
* predict.c (predict_extra_loop_exits): Likewise.
* tree-vrp.c (fold_predicate_in): Likewise.
(simplify_stmt_for_jump_threading): Likewise.

* predict.c (is_comparison_with_loop_invariant_p): Require a
gimple_cond.
(predict_iv_comparison): Add checked cast to gimple_cond once we
know the code is GIMPLE_COND.
(predict_loops): Change type of "stmt" to gimple_cond,
adding checked casts to its assignments (which are both guarded by
checks against GIMPLE_COND).

* tree-vrp.c (find_conditional_asserts): Require a gimple_cond.
(vrp_evaluate_conditional): Likewise.
(find_assert_locations_1): Add checked cast to gimple_cond.
(vrp_visit_stmt): Likewise.
gcc/ChangeLog.gimple-classes
gcc/ipa-split.c
gcc/predict.c
gcc/tree-vrp.c