From 4baaf411c2ad51566881641f9c8b35e8f9f30eb6 Mon Sep 17 00:00:00 2001 From: Erick Ochoa Date: Wed, 29 Apr 2020 12:40:07 +0200 Subject: Recurses down component ref --- gcc/ipa-hello-world.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 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) -- cgit v1.2.3