summaryrefslogtreecommitdiff
path: root/gcc/ipa-type-escape-analysis.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ipa-type-escape-analysis.h')
-rw-r--r--gcc/ipa-type-escape-analysis.h12
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 */