optimizing costly calculation

Kevin P. Fleming kpfleming@digium.com
Tue Nov 3 02:56:00 GMT 2009


Mathieu Lacage wrote:
> hi,
> 
> I have a piece of code which does roughly this (after inlining):
> 
> Foo *foo1 = bar (ctx);
> foo1->something ();
> Foo *foo2 = bar (ctx);
> foo2->something ();
> 
> bar is a function which will always return the same value if its input
> is the same value (and ctx is constant over the function body) so, I
> would like to instruct gcc that he can optimize away the second call
> to bar but I could not find any obvious way to do this. Is this a
> really stupid idea or did I miss something obvious ?

Look at the 'pure' and 'const' attributes that can be applied to
functions. These are GCC extensions, but one of them will be appropriate
for your example.

-- 
Kevin P. Fleming
Digium, Inc. | Director of Software Technologies
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
skype: kpfleming | jabber: kpfleming@digium.com
Check us out at www.digium.com & www.asterisk.org



More information about the Gcc-help mailing list