This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR19578: noreturn vs. function pointer propagation part 2


Hi Diego,

Thanks for the review.

Not objections, but genuine questions...

Diego Novillo <dnovillo@redhat.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?

Richard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]