diff options
author | Martin Jambor <mjambor@suse.cz> | 2011-09-23 15:22:43 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2011-09-23 15:22:43 +0200 |
commit | c75732496d9ad114b50a9a94b71d028bf4168059 (patch) | |
tree | 6135c26161cc96ff691578b1f52f3932115d3f86 /gcc/ipa-prop.h | |
parent | 5d94b9886327df3f4b977d4bc0d1d09c1b6d3220 (diff) | |
download | gcc-c75732496d9ad114b50a9a94b71d028bf4168059.zip gcc-c75732496d9ad114b50a9a94b71d028bf4168059.tar.gz gcc-c75732496d9ad114b50a9a94b71d028bf4168059.tar.bz2 |
ipa-prop.h (jump_func_type): Updated comments.
2011-09-23 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (jump_func_type): Updated comments.
(ipa_known_type_data): New type.
(ipa_jump_func): Use it to describe known type jump functions.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Updated to
reflect the new known type jump function contents.
(compute_known_type_jump_func): Likewise.
(combine_known_type_and_ancestor_jfs): Likewise.
(try_make_edge_direct_virtual_call): Likewise.
(ipa_write_jump_function): Likewise.
(ipa_read_jump_function): Likewise.
* ipa-cp.c (ipa_value_from_known_type_jfunc): New function.
(ipa_value_from_jfunc): Use ipa_value_from_known_type_jfunc.
(propagate_accross_jump_function): Likewise.
From-SVN: r179117
Diffstat (limited to 'gcc/ipa-prop.h')
-rw-r--r-- | gcc/ipa-prop.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h index 1b7ba69..58caa92 100644 --- a/gcc/ipa-prop.h +++ b/gcc/ipa-prop.h @@ -72,13 +72,24 @@ along with GCC; see the file COPYING3. If not see enum jump_func_type { IPA_JF_UNKNOWN = 0, /* newly allocated and zeroed jump functions default */ - IPA_JF_KNOWN_TYPE, /* represented by field base_binfo */ + IPA_JF_KNOWN_TYPE, /* represented by field known_type */ IPA_JF_CONST, /* represented by field costant */ IPA_JF_CONST_MEMBER_PTR, /* represented by field member_cst */ IPA_JF_PASS_THROUGH, /* represented by field pass_through */ IPA_JF_ANCESTOR /* represented by field ancestor */ }; +/* Structure holding data required to describe a known type jump function. */ +struct GTY(()) ipa_known_type_data +{ + /* Offset of the component of the base_type being described. */ + HOST_WIDE_INT offset; + /* Type of the whole object. */ + tree base_type; + /* Type of the component of the object that is being described. */ + tree component_type; +}; + /* Structure holding data required to describe a pass-through jump function. */ struct GTY(()) ipa_pass_through_data @@ -127,7 +138,7 @@ typedef struct GTY (()) ipa_jump_func functions and member_cst holds constant c++ member functions. */ union jump_func_value { - tree GTY ((tag ("IPA_JF_KNOWN_TYPE"))) base_binfo; + struct ipa_known_type_data GTY ((tag ("IPA_JF_KNOWN_TYPE"))) known_type; tree GTY ((tag ("IPA_JF_CONST"))) constant; struct ipa_member_ptr_cst GTY ((tag ("IPA_JF_CONST_MEMBER_PTR"))) member_cst; struct ipa_pass_through_data GTY ((tag ("IPA_JF_PASS_THROUGH"))) pass_through; |