[PATCH 02/10] tree-object-size: Abstract object_sizes array

Siddhesh Poyarekar siddhesh@gotplt.org
Fri Nov 19 16:53:08 GMT 2021


On 11/19/21 21:48, Jakub Jelinek wrote:
> On Wed, Nov 10, 2021 at 12:31:28AM +0530, Siddhesh Poyarekar wrote:
>> Put all accesses to object_sizes behind functions so that we can add
>> dynamic capability more easily.
>>
>> gcc/ChangeLog:
>>
>> 	* tree-object-size.c (object_sizes_grow, object_sizes_release,
>> 	object_sizes_unknown_p, object_sizes_get, object_size_set_force,
>> 	object_sizes_set): New functions.
>> 	(addr_object_size, compute_builtin_object_size,
>> 	expr_object_size, call_object_size, unknown_object_size,
>> 	merge_object_sizes, plus_stmt_object_size,
>> 	cond_expr_object_size, collect_object_sizes_for,
>> 	check_for_plus_in_loops_1, init_object_sizes,
>> 	fini_object_sizes): Adjust.
> 
>> @@ -975,8 +994,9 @@ collect_object_sizes_for (struct object_size_info *osi, tree var)
>>       {
>>         if (bitmap_set_bit (osi->visited, varno))
>>   	{
>> -	  object_sizes[object_size_type][varno]
>> -	    = (object_size_type & 2) ? -1 : 0;
>> +	  /* Initialize to 0 for maximum size and M1U for minimum size so that
>> +	     it gets immediately overridden.  */
> 	  object_sizes_set_force (osi, varno, unknown (object_size_type ^ 2));
> 
> Shouldn't that be			      unknown (object_size_type
> 						       ^ OST_MINIMUM)
> ?
> Or, if you redo the series, update the first patch so that it doesn't leave
> any & 2 or & 1 etc. around and instead uses the enumerators and redo this
> patch?

Thanks, I'll update 1/10 and redo this on top of it.

Siddhesh


More information about the Gcc-patches mailing list