GCC Middle and Back End API Reference
funct_state_d Struct Reference

Data Fields

enum pure_const_state_e pure_const_state
enum pure_const_state_e state_previously_known
bool looping_previously_known
bool looping
bool can_throw

Detailed Description

   Holder for the const_state.  There is one of these per function

Field Documentation

bool funct_state_d::can_throw

Referenced by special_builtin_state().

bool funct_state_d::looping
     True if the function could possibly infinite loop.  There are a
     lot of ways that this could be determined.  We are pretty
     conservative here.  While it is possible to cse pure and const
     calls, it is not legal to have dce get rid of the call if there
     is a possibility that the call could infinite loop since this is
     a behavioral change.  

Referenced by analyze_function(), check_call(), check_stmt(), skip_function_for_local_pure_const(), and special_builtin_state().

bool funct_state_d::looping_previously_known

Referenced by self_recursive_p().

enum pure_const_state_e funct_state_d::pure_const_state
     See above.  

Referenced by check_call(), and check_stmt().

enum pure_const_state_e funct_state_d::state_previously_known
     What user set here; we can be always sure about this.  

Referenced by self_recursive_p().

The documentation for this struct was generated from the following file: