GCC Middle and Back End API Reference
profile-count.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  profile_probability
 
struct  profile_count
 

Macros

#define REG_BR_PROB_BASE   10000
 
#define RDIV(X, Y)   (((X) + (Y) / 2) / (Y))
 
#define UINT64_BIT_FIELD_ALIGN
 

Enumerations

enum  profile_quality {
  UNINITIALIZED_PROFILE , GUESSED_LOCAL , GUESSED_GLOBAL0 , GUESSED_GLOBAL0_ADJUSTED ,
  GUESSED , AFDO , ADJUSTED , PRECISE
}
 

Functions

const charprofile_quality_as_string (enum profile_quality)
 
bool parse_profile_quality (const char *value, profile_quality *quality)
 
bool slow_safe_scale_64bit (uint64_t a, uint64_t b, uint64_t c, uint64_t *res)
 
bool safe_scale_64bit (uint64_t a, uint64_t b, uint64_t c, uint64_t *res)
 

Macro Definition Documentation

◆ RDIV

◆ REG_BR_PROB_BASE

◆ UINT64_BIT_FIELD_ALIGN

#define UINT64_BIT_FIELD_ALIGN

Enumeration Type Documentation

◆ profile_quality

Quality of the profile count.  Because gengtype does not support enums
inside of classes, this is in global namespace.   
Enumerator
UNINITIALIZED_PROFILE 
GUESSED_LOCAL 
GUESSED_GLOBAL0 
GUESSED_GLOBAL0_ADJUSTED 
GUESSED 
AFDO 
ADJUSTED 
PRECISE 

Function Documentation

◆ parse_profile_quality()

bool parse_profile_quality ( const char * value,
profile_quality * quality )
extern
Parse VALUE as profile quality and return true when a valid QUALITY.   

References ggc_alloc(), i, and profile_quality_names.

◆ profile_quality_as_string()

const char * profile_quality_as_string ( enum profile_quality quality)
extern

◆ safe_scale_64bit()

◆ slow_safe_scale_64bit()

bool slow_safe_scale_64bit ( uint64_t a,
uint64_t b,
uint64_t c,
uint64_t * res )
Compute RES=(a*b + c/2)/c capping and return false if overflow happened.   

References a, b, wi::fits_uhwi_p(), FIXED_WIDE_INT, gcc_checking_assert, ggc_alloc(), wi::udiv_floor(), and wi::umul().

Referenced by safe_scale_64bit().