GCC Middle and Back End API Reference
gimple-predict.h File Reference
#include "predict.h"
Include dependency graph for gimple-predict.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

enum br_predictor gimple_predict_predictor (const gimple *gs)
 
void gimple_predict_set_predictor (gimple *gs, enum br_predictor predictor)
 
enum prediction gimple_predict_outcome (const gimple *gs)
 
void gimple_predict_set_outcome (gimple *gs, enum prediction outcome)
 
gimplegimple_build_predict (enum br_predictor predictor, enum prediction outcome)
 
bool is_gimple_predict (const gimple *gs)
 

Function Documentation

◆ gimple_build_predict()

gimple * gimple_build_predict ( enum br_predictor predictor,
enum prediction outcome )
inline
Build a GIMPLE_PREDICT statement. PREDICT is one of the predictors from predict.def, OUTCOME is NOT_TAKEN or TAKEN.

References gcc_assert, GF_PREDICT_TAKEN, gimple_alloc(), gimple_predict_set_outcome(), and gimple_predict_set_predictor().

Referenced by build_instrumentation_call(), expand_call_inline(), gimplify_case_label_expr(), gimplify_expr(), gimplify_label_expr(), and maybe_add_early_return_predict_stmt().

◆ gimple_predict_outcome()

enum prediction gimple_predict_outcome ( const gimple * gs)
inline
Return the outcome of GIMPLE_PREDICT statement GS.

References GF_PREDICT_TAKEN, GIMPLE_CHECK, NOT_TAKEN, gimple::subcode, and TAKEN.

Referenced by pp_gimple_stmt_1(), and tree_bb_level_predictions().

◆ gimple_predict_predictor()

enum br_predictor gimple_predict_predictor ( const gimple * gs)
inline
Gimple prediction routines. Copyright (C) 2007-2025 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
Return the predictor of GIMPLE_PREDICT statement GS.

References GF_PREDICT_TAKEN, GIMPLE_CHECK, and gimple::subcode.

Referenced by pp_gimple_stmt_1(), strip_predict_hints(), and tree_bb_level_predictions().

◆ gimple_predict_set_outcome()

void gimple_predict_set_outcome ( gimple * gs,
enum prediction outcome )
inline
Set the outcome of GIMPLE_PREDICT statement GS to OUTCOME.

References GF_PREDICT_TAKEN, GIMPLE_CHECK, gimple::subcode, and TAKEN.

Referenced by gimple_build_predict().

◆ gimple_predict_set_predictor()

void gimple_predict_set_predictor ( gimple * gs,
enum br_predictor predictor )
inline
Set the predictor of GIMPLE_PREDICT statement GS to PREDICT.

References GF_PREDICT_TAKEN, GIMPLE_CHECK, and gimple::subcode.

Referenced by gimple_build_predict().

◆ is_gimple_predict()

bool is_gimple_predict ( const gimple * gs)
inline
Return true if GS is a GIMPLE_PREDICT statement.