Jeff Law <l...@redhat.com> writes:
> On 07/27/2015 03:17 AM, Richard Biener wrote:
>> On Mon, Jul 27, 2015 at 5:10 AM,  <tbsaunde+...@tbsaunde.org> wrote:
>>> From: Trevor Saunders <tbsaunde+...@tbsaunde.org>
>>>
>>> Hi,
>>>
>>> $subject.
>>>
>>> patches individually bootstrapped + regtested on x86_64-linux-gnu, and run
>>> through config-list.mk with more patches removing usage of the macro.  Ok?
>>
>> With POINTER_SIZE now being expensive (target hook) you might consider
>> moving most users to use pointer_sized_int_node or some other global
>> derived from POINTER_SIZE.
>>
>> Which of course raises the question of why we are hookizing this...  if you'd
>> want a truly switchable target you'd have to switch all global trees as well
>> (or hookize them individually).
> Not sure -- it doesn't remove any conditionally compiled code...
>
> One could easily argue that it's just another step on the path towards a 
> switchable target -- which in and of itself is a reasonable design goal.
>
> Trevor, maybe a quick note on the motivation would help here...

I think at least we should use data hooks rather than function hooks,
since this value should a constant within a subtarget.  It should only
change for target_reinit.

Alternatively we could have a new target_globals structure that is
initialised with the result of calling the hook.  If we do that though,
it might make sense to consolidate the hooks rather than have one for
every value.  E.g. having one function for UNITS_PER_WORD, one for
POINTER_SIZE, one for Pmode, etc., would lead to some very verbose
target code.

Perhaps the main problem with these approaches is ensuring that the
value is set up early enough.

Thanks,
Richard

Reply via email to