diff options
author | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-04-29 12:40:07 +0200 |
---|---|---|
committer | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-04-29 12:40:07 +0200 |
commit | 4baaf411c2ad51566881641f9c8b35e8f9f30eb6 (patch) | |
tree | 89890e9b8fc4ebfa93bbc2ab3827ac8e4e086199 | |
parent | 0c671014c9c48959140465c58417d57141e68854 (diff) |
Recurses down component ref
-rw-r--r-- | gcc/ipa-hello-world.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ipa-hello-world.c b/gcc/ipa-hello-world.c index 7489478f1f4..2513a344574 100644 --- a/gcc/ipa-hello-world.c +++ b/gcc/ipa-hello-world.c @@ -107,6 +107,7 @@ typedef std::set<const_tree> record_set; enum access_code { READ_ACCESS, WRITE_ACCESS }; +void count_access_for_types_in_expr(const_tree expr, const record_set &non_escaping_records, field_access_counter &counter, const enum access_code access); void count_access_for_type_in_component_ref(const_tree component_ref, const record_set &non_escaping_records, field_access_counter &counter, const enum access_code access) @@ -118,6 +119,8 @@ count_access_for_type_in_component_ref(const_tree component_ref, const record_se const_tree _struct = TREE_OPERAND(component_ref, 0); gcc_assert(_struct); + + count_access_for_types_in_expr(_struct, non_escaping_records, counter, READ_ACCESS); const_tree tree_type_struct = TREE_TYPE(_struct); gcc_assert(tree_type_struct); enum tree_code tree_type_struct_code = TREE_CODE(tree_type_struct); @@ -182,7 +185,6 @@ is_addr_expr_p(const_tree expr) gcc_assert(is_addr_expr); } -void count_access_for_types_in_expr(const_tree expr, const record_set &non_escaping_records, field_access_counter &counter, const enum access_code access); void count_access_for_type_in_addr_expr(const_tree expr, const record_set &non_escaping_records, field_access_counter &counter, const enum access_code access) |