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: [PATCH] Enable non-complex math builtins from C99 for Bionic


On Mon, May 27, 2013 at 11:15 AM, Alexander Ivchenko <aivchenk@gmail.com> wrote:
> Hi,
>
> While discussing the issue with the command line option for sincos here:
> http://gcc.1065356.n5.nabble.com/PATCH-bionic-Add-foptimize-sincos-tp940918.html
>
> Richard wrote:
>> I'd rather think about a way to specify, for all known builtins, whether GCC
>> should generate calls to such function where they are not in the source
>> program.  That is, similar to how we have -f[no-]builtin-FOO introduce
>> -f[no-]libc-FOO (with a better name for 'libc'?).  That way there would be
>> a way to specify that -floop-distribute-patterns should not produce calls
>> to memset () for example.
>
> This patch is related to that idea: in the target hook
> libc_has_function we can check whether
> the compiler should generate calls to a particular function or not.
> The command line support for
> each function could be the next step.
>
> Could you please take a look?

I don't see how a target hook is required for the command-line idea.
Targets already have a perfectly working way of changing the default
of a command-line option.

Richard.

> thanks
> Alexander
>
> 2013/4/23 Alexander Ivchenko <aivchenk@gmail.com>:
>> *ping*
>>
>> thanks
>> Alexander
>>
>> 2013/3/28 Alexander Ivchenko <aivchenk@gmail.com>:
>>> Hi,
>>>
>>> 4.8 is now branched, lets come back to the discussion that we had
>>> before. I updated the patch a little
>>> bit since we now have linux-protos.h and linux-android.c files.
>>>
>>> I tried to preserve the avaiability of c99 for all targets, but it's
>>> pretty difficult, because we are changing
>>> the defaults. Passing an empty string as second argument doesn't look
>>> very good, but on the other hand
>>> the user has one clear way for checking the presence of a certain
>>> function. But of course we can create
>>> another function, that will call targetm.libc_has_function
>>> (function_class, "") within itself.
>>>
>>> best regards,
>>> Alexander
>>>
>>> 2013/1/7 Joseph S. Myers <joseph@codesourcery.com>:
>>>> On Fri, 21 Dec 2012, Alexander Ivchenko wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Thank you very much for your input! Please, take a look at the updated version:
>>>>> I fixed coding style, moved documentation for TARGET_LIBC_HAS_FUNCTION
>>>>> to target.def.
>>>>> Removed TARGET_C99_FUNCTIONS and TARGET_HAS_SINCOS and all their
>>>>> influence and moved the implementation of linux_libc_has_function to
>>>>> host-linux.c.
>>>>>       I changed the defaults: now it is assumed that we have C99 runtime,
>>>>> but no sincos. I updated all needed gcc/config/*.h. But 'm not sure in
>>>>> this part,
>>>>> cause I don't have the opportunity to test it properly...
>>>>
>>>> This patch seems mostly plausible, though there are various places that
>>>> call targetm.libc_has_function with and empty string as second argument,
>>>> that should be naming the specific function instead.  I haven't reviewed
>>>> the details, and at this development stage I think it will need to wait
>>>> until after 4.8 branches.
>>>>
>>>> --
>>>> Joseph S. Myers
>>>> joseph@codesourcery.com


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