GCC Middle and Back End API Reference
|
#include <ipa-prop.h>
Data Fields | |
tree | operand |
int | formal_id |
enum tree_code | operation |
unsigned | agg_preserved: 1 |
unsigned | type_preserved: 1 |
Structure holding data required to describe a pass-through jump function.
unsigned ipa_pass_through_data::agg_preserved |
When the passed value is a pointer, it is set to true only when we are certain that no write to the object it points to has occurred since the caller functions started execution, except for changes noted in the aggregate part of the jump function (see description of ipa_agg_jump_function). The flag is used only when the operation is NOP_EXPR.
Referenced by ipa_get_jf_constant_rdesc().
int ipa_pass_through_data::formal_id |
Number of the caller's formal parameter being passed.
Referenced by combine_known_type_and_ancestor_jfs(), and ipa_get_jf_known_type_component_type().
tree ipa_pass_through_data::operand |
If an operation is to be performed on the original parameter, this is the second (constant) operand.
Referenced by ipa_get_jf_known_type_base_type().
enum tree_code ipa_pass_through_data::operation |
Operation that is performed on the argument before it is passed on. NOP_EXPR means no operation. Otherwise oper must be a simple binary arithmetic operation where the caller's parameter is the first operand and operand field from this structure is the second one.
Referenced by ipa_get_jf_constant().
unsigned ipa_pass_through_data::type_preserved |
When set to true, we guarantee that, if there is a C++ object pointed to by this object, it does not undergo dynamic type change in the course of functions decribed by this jump function.
Referenced by ipa_get_jf_pass_through_operand().