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. Jakub