diff options
author | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-03-10 14:57:28 +0100 |
---|---|---|
committer | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-04-28 23:35:51 +0200 |
commit | bae5500345704fe5fa7f883a418397379fce0553 (patch) | |
tree | be103757ed0d056588ce34ea0d8c81b23b0f6c35 /gcc/ipa-type-escape-analysis.h | |
parent | d719ddb69b9bc56b46f28689a7dc4d31f980f702 (diff) |
Adds test to count field read
Diffstat (limited to 'gcc/ipa-type-escape-analysis.h')
-rw-r--r-- | gcc/ipa-type-escape-analysis.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ipa-type-escape-analysis.h b/gcc/ipa-type-escape-analysis.h new file mode 100644 index 00000000000..7dcda948189 --- /dev/null +++ b/gcc/ipa-type-escape-analysis.h @@ -0,0 +1,21 @@ +#ifndef GCC_IPA_TYPE_ESCAPE_ANALYSIS_H +#define GCC_IPA_TYPE_ESCAPE_ANALYSIS_H +#pragma once + +struct escaping_reason_s { + unsigned global_is_visible : 1; + unsigned parameter_is_visible : 1; + unsigned return_is_visible : 1; + unsigned type_is_casted : 1; +}; +typedef struct escaping_reason_s escaping_reason; + +struct escaping_info_s { const_tree type; bool is_escaping; escaping_reason reason; }; +typedef struct escaping_info_s escaping_info; +//TODO: Maybe change this to a std::map? +//Can we get an idea of what conventions gcc want? +//Maybe I should ask... +typedef hash_map<const_tree, escaping_info> type_map; +void calculate_escaping_types(type_map&); + +#endif |