On 12/17/2010 2:51 AM, Andrew Stubbs wrote:

>> * Have the compiler expose an API for recording information about the
>> value of arguments to a function when profiling.  For integer arguments,
>> this might be the minimum, maximum, and average.  For pointers, NULL vs.
>> non-NULL.  Etc.
> 
> Presumably recording the return value of functions would also be handy,
> especially in this case?

Indeed.

>> * Provide a plug-in that allows the user to instrument particular
>> functions (e.g., strlen) by providing profiling rules:
> 
> This is cool, but most users want it to Just Work (tm). Is a plugin a
> suitable way to implement an on-by-default feature?

I think so.  The plug-in could always ship with the compiler, just as
various Eclips plug-ins ship with Eclipse, or as various kernel modules
ship with the kernel.  The benefit of a plug-in interface is not just
third-party delivery, but also the ability for users to modify and
configure behavior.

We've traditionally hard-coded things into the compiler to optimize the
behavior of built-in functions, but that's something that should
(ideally) be under the control of users.  For example, a library
developer might very well like to ship some Python code that told the
compiler that calling f(g(x)) is equivalent to calling h(x), or that if
n < 3, you should translate f(n) into g(1); ...; g(n).

-- 
Mark Mitchell
CodeSourcery
m...@codesourcery.com
(650) 331-3385 x713

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to