On 15 June 2021 08:46:57 CEST, Richard Biener via Gcc-patches 
<gcc-patches@gcc.gnu.org> wrote:
>On Tue, Jun 15, 2021 at 8:02 AM Trevor Saunders <tbsau...@tbsaunde.org>
>wrote:
>>
>> Signed-off-by: Trevor Saunders <tbsau...@tbsaunde.org>
>>
>> bootstrapped and regtested on x86_64-linux-gnu, ok?
>
>OK.
>
>Thanks,
>Richard.
>
>> gcc/ChangeLog:
>>
>>         * dominance.c (get_dominated_by): Return
>auto_vec<basic_block>.
>>         * dominance.h (get_dominated_by): Likewise.
>>         * auto-profile.c (afdo_find_equiv_class): Adjust.
>>         * cfgloopmanip.c (duplicate_loop_to_header_edge): Likewise.
>>         * loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
>>         * tree-cfg.c (test_linear_chain): Likewise.
>>         (test_diamond): Likewise.
>> ---

>> diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
>> index 02256580c98..6bdd1a561fd 100644
>> --- a/gcc/tree-cfg.c
>> +++ b/gcc/tree-cfg.c
>> @@ -9917,22 +9917,20 @@ test_linear_chain ()
>>    calculate_dominance_info (CDI_DOMINATORS);
>>    ASSERT_EQ (bb_a, get_immediate_dominator (CDI_DOMINATORS, bb_b));
>>    ASSERT_EQ (bb_b, get_immediate_dominator (CDI_DOMINATORS, bb_c));
>> -  vec<basic_block> dom_by_b = get_dominated_by (CDI_DOMINATORS,
>bb_b);
>> +  auto_vec<basic_block> dom_by_b = get_dominated_by (CDI_DOMINATORS,
>bb_b);
>>    ASSERT_EQ (1, dom_by_b.length ());
>>    ASSERT_EQ (bb_c, dom_by_b[0]);
>>    free_dominance_info (CDI_DOMINATORS);
>> -  dom_by_b.release ();
>>
>>    /* Similarly for post-dominance: each BB in our chain is
>post-dominated
>>       by the one after it.  */
>>    calculate_dominance_info (CDI_POST_DOMINATORS);
>>    ASSERT_EQ (bb_b, get_immediate_dominator (CDI_POST_DOMINATORS,
>bb_a));
>>    ASSERT_EQ (bb_c, get_immediate_dominator (CDI_POST_DOMINATORS,
>bb_b));
>> -  vec<basic_block> postdom_by_b = get_dominated_by
>(CDI_POST_DOMINATORS, bb_b);
>> +  auto_vec<basic_block> postdom_by_b = get_dominated_by
>(CDI_POST_DOMINATORS, bb_b);
>>    ASSERT_EQ (1, postdom_by_b.length ());
>>    ASSERT_EQ (bb_a, postdom_by_b[0]);
>>    free_dominance_info (CDI_POST_DOMINATORS);
>> -  postdom_by_b.release ();
>>
>>    pop_cfun ();
>>  }
>> @@ -9991,10 +9989,10 @@ test_diamond ()
>>    ASSERT_EQ (bb_a, get_immediate_dominator (CDI_DOMINATORS, bb_b));
>>    ASSERT_EQ (bb_a, get_immediate_dominator (CDI_DOMINATORS, bb_c));
>>    ASSERT_EQ (bb_a, get_immediate_dominator (CDI_DOMINATORS, bb_d));
>> -  vec<basic_block> dom_by_a = get_dominated_by (CDI_DOMINATORS,
>bb_a);
>> +  auto_vec<basic_block> dom_by_a = get_dominated_by (CDI_DOMINATORS,
>bb_a);
>>    ASSERT_EQ (3, dom_by_a.length ()); /* B, C, D, in some order.  */
>>    dom_by_a.release ();

I'm curious why you keep the release() above and ...

>> -  vec<basic_block> dom_by_b = get_dominated_by (CDI_DOMINATORS,
>bb_b);
>> +  auto_vec<basic_block> dom_by_b = get_dominated_by (CDI_DOMINATORS,
>bb_b);
>>    ASSERT_EQ (0, dom_by_b.length ());
>>    dom_by_b.release ();

here and

>>    free_dominance_info (CDI_DOMINATORS);
>> @@ -10004,10 +10002,10 @@ test_diamond ()
>>    ASSERT_EQ (bb_d, get_immediate_dominator (CDI_POST_DOMINATORS,
>bb_a));
>>    ASSERT_EQ (bb_d, get_immediate_dominator (CDI_POST_DOMINATORS,
>bb_b));
>>    ASSERT_EQ (bb_d, get_immediate_dominator (CDI_POST_DOMINATORS,
>bb_c));
>> -  vec<basic_block> postdom_by_d = get_dominated_by
>(CDI_POST_DOMINATORS, bb_d);
>> +  auto_vec<basic_block> postdom_by_d = get_dominated_by
>(CDI_POST_DOMINATORS, bb_d);
>>    ASSERT_EQ (3, postdom_by_d.length ()); /* A, B, C in some order. 
>*/
>>    postdom_by_d.release ();

here and 

>> -  vec<basic_block> postdom_by_b = get_dominated_by
>(CDI_POST_DOMINATORS, bb_b);
>> +  auto_vec<basic_block> postdom_by_b = get_dominated_by
>(CDI_POST_DOMINATORS, bb_b);
>>    ASSERT_EQ (0, postdom_by_b.length ());
>>    postdom_by_b.release ();

here?

thanks,

>>    free_dominance_info (CDI_POST_DOMINATORS);
>> --
>> 2.20.1
>>

Reply via email to