diff options
author | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-03-18 15:21:06 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-03-18 15:21:06 +0000 |
commit | 2e28e797125a94c7587b599eba438015fa02e5fe (patch) | |
tree | e2ca0569c078a0ce7bcb5fe80388985cdcfbfac8 /gcc/tree.h | |
parent | 52f1c7ed4d3ebab5b0b54f567bafbf1c29ccffeb (diff) | |
download | gcc-2e28e797125a94c7587b599eba438015fa02e5fe.zip gcc-2e28e797125a94c7587b599eba438015fa02e5fe.tar.gz gcc-2e28e797125a94c7587b599eba438015fa02e5fe.tar.bz2 |
tree-pretty-print.c: Include predict.h.
* tree-pretty-print.c: Include predict.h.
(dump_generic_node): Dump predictor.
* tree.h (PREDICT_EXPR_OUTCOME, PREDICT_EXPR_PREDICTION): Update.
* tree-gimple.c (is_gimple_stmt): Add PREDICT_EXPR.
* gimple-low.c (lower_stmt): Likewise.
* expr.c (expand_expr_real): Likewise.
* predict.c (tree_bb_level_predictions): Use PREDICT_EXPRs and remove
them.
(build_predict_expr, build_predict_expr): New.
* predict.h (predictor_name, build_predict_expr): Update.
* c-typeck.c (c_finish_bc_stmt): Add prediction.
* gimplify.c (gimplify_expr): Add PREDICT_EXPR.
* predict.def (PRED_CONTINUE): Update hitrate.
* tree.def (PREDICT_EXPR): Define.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark PREDICT_EXPR;
do not handle BIND_EXPR.
* tree-inline.c (estimate_num_insns_1): PREDICT_EXPR is free.
* tree-cfg.c (verify_gimple_stmt): PREDICT_EXPR is valid.
* tree-ssa-operands.c (get_expr_operands): PREDICT_EXPR takes no
operands.
From-SVN: r133313
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -436,6 +436,7 @@ struct gimple_stmt GTY(()) expression. CALL_EXPR_TAILCALL in CALL_EXPR CASE_LOW_SEEN in CASE_LABEL_EXPR + RETURN_EXPR_OUTCOME in RETURN_EXPR static_flag: @@ -1158,6 +1159,11 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int, #define CASE_LOW_SEEN(NODE) \ (CASE_LABEL_EXPR_CHECK (NODE)->base.addressable_flag) +#define PREDICT_EXPR_OUTCOME(NODE) \ + (PREDICT_EXPR_CHECK(NODE)->base.addressable_flag) +#define PREDICT_EXPR_PREDICTOR(NODE) \ + ((enum br_predictor)tree_low_cst (TREE_OPERAND (PREDICT_EXPR_CHECK (NODE), 0), 0)) + /* In a VAR_DECL, nonzero means allocate static storage. In a FUNCTION_DECL, nonzero if function has been defined. In a CONSTRUCTOR, nonzero means allocate static storage. |