GCC Middle and Back End API Reference
ipa_pass_through_data Struct Reference

#include <ipa-prop.h>

Data Fields

tree operand
int formal_id
enum tree_code operation
unsigned agg_preserved: 1
unsigned type_preserved: 1

Detailed Description

   Structure holding data required to describe a pass-through jump function.  

Field Documentation

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

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().

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