GDC and leaf functions
Iain Buclaw
ibuclaw at ubuntu.com
Mon Mar 4 10:02:07 PST 2013
On Mar 4, 2013 5:46 PM, "David Nadlinger" <see at klickverbot.at> wrote:
>
> On Monday, 4 March 2013 at 17:35:45 UTC, Iain Buclaw wrote:
>>
>> On Mar 4, 2013 3:27 PM, "Manu" <turkeyman at gmail.com> wrote:
>>>
>>>
>>> I'm doing a lot of experiments with GDC, and I'm noticing that leaf
>>
>> functions are still generating a stack frame and doing pointless work...
>>>
>>>
>>> int leaf() pure nothrow
>>> {
>>> return 0;
>>> }
>>>
>>> compile with -frelease -finline -O3, etc
>>>
>>> I expect 2 opcodes, load immediate and return, but I get a whole
>>
>> pointless function including memory access O_O
>>>
>>>
>>> Any ideas? Is this normal?
>>
>>
>> I'd expect so.
>
>
> ?!
>
> I think you are seriously underestimating GCC here... ;)
>
I usually do. :p
Regards
--
Iain Buclaw
*(p < e ? p++ : p) = (c & 0x0f) + '0';
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20130304/d159683f/attachment.html>
More information about the Digitalmars-d
mailing list