aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@gcc.gnu.org>2008-03-18 15:21:06 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2008-03-18 15:21:06 +0000
commit2e28e797125a94c7587b599eba438015fa02e5fe (patch)
treee2ca0569c078a0ce7bcb5fe80388985cdcfbfac8 /gcc/tree.h
parent52f1c7ed4d3ebab5b0b54f567bafbf1c29ccffeb (diff)
downloadgcc-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.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index de6654d..0cb2fad 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -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.