On Tue, Apr 19, 2011 at 3:57 PM, Jan Hubicka <hubi...@ucw.cz> wrote:
>> So between hashtab and VEC, which one do you prefer? Either one is fine with 
>> me.
>
> I would go with VEC.  While the array will have holes, there are not many 
> since
> the ids are originally assigned sequentially.
>
> Actually given that we do IPA pass now, I think you can just remove 
> cgraph->pid
> field and replace it by cgraph->uid.  The original issue was that profiling
> made cgraph->uid diverge in between compilation and profling time becuase it
> affected things like early inlining.  This is not true anymore, so cgraph->uid
> should work well now.

Why not using struct function's funcdef_no?

David

>
> Honza
>>
>> Thanks,
>>
>> David
>>
>> On Tue, Apr 19, 2011 at 3:39 PM, Jan Hubicka <hubi...@ucw.cz> wrote:
>> >>
>> >> Why is VEC any better in terms of density ? Are you suggesting using a
>> >> hash table?
>> > It is not any better, but we usually use VEC for variably sized arrays like
>> > this one.  Not that I would be big fan of its API, but at least it fives
>> > bounds checking that would catch bugs like one you are fixing more 
>> > reliably.
>> >
>> > Honza
>> >>
>> >>
>> >> , making init_pid_map to allocate it cleared and add also
>> >> > test that VEC_index (pid_map, pid) is not NULL in addition to the bound 
>> >> > check
>> >> > above.
>> >> >
>> >> > Also we ought to free pids once the IPA profiling pass is done. I.e. at 
>> >> > the end of tree_profling
>> >> > function.
>> >>
>> >> Yes.
>> >>
>> >> Thanks,
>> >>
>> >> David
>> >>
>> >> >
>> >> > Honza
>> >> >
>> >
>

Reply via email to