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


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: