diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2017-07-31 13:16:00 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2017-07-31 11:16:00 +0000 |
commit | 7fef86d3486c9f4208a111a41a2cc66b7328b6d9 (patch) | |
tree | 12d92f7ad89fe26c757222ae443640e4eaeeaa00 /gcc/c | |
parent | 2ec580be156c39a87ea39c2f475565bd36d82dcc (diff) | |
download | gcc-7fef86d3486c9f4208a111a41a2cc66b7328b6d9.zip gcc-7fef86d3486c9f4208a111a41a2cc66b7328b6d9.tar.gz gcc-7fef86d3486c9f4208a111a41a2cc66b7328b6d9.tar.bz2 |
Recover GOTO predictor.
2017-07-31 Jan Hubicka <hubicka@ucw.cz>
Martin Liska <mliska@suse.cz>
* c-typeck.c (c_finish_goto_label): Build gimple predict
stament.
2017-07-31 Jan Hubicka <hubicka@ucw.cz>
Martin Liska <mliska@suse.cz>
* predict.def: Remove old comment and adjust probability.
* gimplify.c (should_warn_for_implicit_fallthrough): Ignore
PREDICT statements.
2017-07-31 Jan Hubicka <hubicka@ucw.cz>
Martin Liska <mliska@suse.cz>
* gcc.dg/predict-15.c: New test.
* gcc.dg/tree-ssa/vrp24.c: Update scanned pattern.
2017-07-31 Jan Hubicka <hubicka@ucw.cz>
Martin Liska <mliska@suse.cz>
* pt.c (tsubst_copy): Copy PREDICT_EXPR.
* semantics.c (finish_goto_stmt): Build gimple predict
stament.
* constexpr.c (potential_constant_expression_1): Handle
PREDICT_EXPR.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r250737
Diffstat (limited to 'gcc/c')
-rw-r--r-- | gcc/c/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c/c-typeck.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index ab2a4c8..aff4866 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,9 @@ +2017-07-31 Jan Hubicka <hubicka@ucw.cz> + Martin Liska <mliska@suse.cz> + + * c-typeck.c (c_finish_goto_label): Build gimple predict + stament. + 2017-07-31 Martin Liska <mliska@suse.cz> PR sanitize/81530 diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c index 7451f32..71d0135 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -9824,6 +9824,7 @@ c_finish_goto_label (location_t loc, tree label) return NULL_TREE; TREE_USED (decl) = 1; { + add_stmt (build_predict_expr (PRED_GOTO, NOT_TAKEN)); tree t = build1 (GOTO_EXPR, void_type_node, decl); SET_EXPR_LOCATION (t, loc); return add_stmt (t); |