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-2024 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 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.