This is the mail archive of the
mailing list for the GCC project.
Re: PR19578: noreturn vs. function pointer propagation part 2
- From: Richard Sandiford <rsandifo at redhat dot com>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 02 Feb 2005 08:40:21 +0000
- Subject: Re: PR19578: noreturn vs. function pointer propagation part 2
- References: <email@example.com> <41F27889.firstname.lastname@example.org><email@example.com> <41F82EA6.firstname.lastname@example.org><email@example.com> <41FF8F11.firstname.lastname@example.org>
Thanks for the review.
Not objections, but genuine questions...
Diego Novillo <email@example.com> writes:
>> PR tree-optimization/19578
>> * tree-flow.h (modified_noreturn_calls): Declare.
>> (noreturn_call_p): Declare.
> You need to initialize modified_noreturn_calls in init_tree_ssa and set
> it to NULL in delete_tree_ssa.
Why is it necessary to initialise modified_noreturn_calls? The VEC code
treats NULLs as empty vectors, so there doesn't seem to be any need to
initialise it explicitly. And why reserve an arbitrary number of slots
(like 20, or whatever) when many real-world functions won't use any?
I suppose setting it to null in delete_tree_ssa is just a way of making
sure that, if one pathological function has lots of noreturn calls,
the vector doesn't remain needlessly big for other functions.
Is that right?