diff options
Diffstat (limited to 'gcc/ipa-type-escape-analysis.h')
-rw-r--r-- | gcc/ipa-type-escape-analysis.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ipa-type-escape-analysis.h b/gcc/ipa-type-escape-analysis.h index 17a0a51d817..5faa723a6a6 100644 --- a/gcc/ipa-type-escape-analysis.h +++ b/gcc/ipa-type-escape-analysis.h @@ -1128,10 +1128,11 @@ public: /* Get final results. */ record_field_map_t get_map (); -private: +protected: /* Navigate expressions in gimple statements. */ ExprAccessor exprAccessor; +private: /* Mark all RHS expressions reachable from S as Read. all all LHS expressions reachable from S as Written. */ virtual void _walk_pre_gcall (gcall *s); @@ -1154,5 +1155,14 @@ typedef std::set<unsigned> field_offsets_t; typedef std::map<const_tree, field_offsets_t> record_field_offset_map_t; +// Partition types into escaping or non escaping sets. +tpartitions_t +partition_types_into_escaping_nonescaping (); + +// Compute set of not escaping unaccessed fields +record_field_offset_map_t +obtain_nonescaping_unaccessed_fields (tpartitions_t casting, + record_field_map_t record_field_map, + int warning); #endif /* GCC_IPA_TYPE_ESCAPE_ANALYSIS_H */ |