On Wed, May 31, 2017 at 2:01 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> On Wed, May 31, 2017 at 01:57:48PM +0200, Martin Liška wrote:
>> On 05/31/2017 01:51 PM, Jakub Jelinek wrote:
>> > On Wed, May 31, 2017 at 01:46:00PM +0200, Richard Biener wrote:
>> >> Just wanting to add that "ab-"using options/variables to implement
>> >> what are really
>> >> function attributes doesn't look very clean.  Unless the plan is to get 
>> >> rid of
>> >> function attributes in favor of per-function options.
>> >
>> > Function attribute here is one thing (the way user writes it) and that
>> > combined with the command line options determines the sanitization 
>> > performed
>> > (the function attributes only say what sanitization flags should be
>> > ignored).  The proposed per-function variable is just a cache of this
>> > information, because parsing function attributes every time is way too
>> > expensive.
>>
>> But one the other hand every function decorated with such attribute will lead
>> to having a separate copy of struct cl_optimization, which is quite big 
>> structure.
>
> Separate?  I thought cl_optimization structs are shared, so if you have 2
> functions that have the same no_sanitize* attributes and all other
> optimization flags same as well, they should share OPTIMIZATION_NODE.

Yes.  For optimizing size we might want to tweak the machinery to use a bool
bitfield instead of {un,}signed ints for things that are really just
flags (true/false).

Richard.

>         Jakub

Reply via email to