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] Move Asan instrumentation to sanopt pass


On Tue, Jul 22, 2014 at 04:20:04PM +0200, Richard Biener wrote:
> On Tue, Jul 22, 2014 at 4:15 PM, Yury Gribov <y.gribov@samsung.com> wrote:
> > On 07/22/2014 05:57 PM, Richard Biener wrote:
> >>>
> >>> I probably could
> >>> provide fnspec with (EAF_DIRECT | EAF_NOCLOBBER | EAF_NOESCAPE) or
> >>> even EAF_UNUSED for these functions but this does not seem
> >>> to be supported in current middle-end.
> >>
> >>
> >> Simply add the "fn spec" attribute to the functions?
> >
> >
> > Problem is that internal functions don't seem to support this
> > (gimple_statement_call::fntype and gimple_statement_call::internal_fn
> > occupy the same field). I wasn't sure about the reasons for this
> > so decided change them in original patch. Do you think we should we allow
> > fntype for internal functions?
> 
> Ah.... internal fns.  Those cannot have attributes indeed (technical
> limitation).
> Martin was working on putting those flags elsewhere (cgraph, though internal
> functions don't have cgraph nodes either ...).  Maybe it was a bad idea to use
> internal functions for ASAN.

But if it is a builtin function, then users can use it directly, which is
not really desirable.
For internal-fn, we already support ECF* constants, guess either we could
add support for EAF* too, through internal-fn.def, or we need support for
normal builtins that are inaccessible to users (but using . or space
in names is too ugly IMHO for that).

	Jakub


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