Missed optimisation case - internal use of STCin

Artur Skawina via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 21 08:41:47 PDT 2014


On 04/20/14 22:11, Iain Buclaw via Digitalmars-d wrote:
> The failure of inlining is not a blocker IMO

It is one in practice. A language with a compiler that can not even inline
this trivial function:

   test   %rdi,%rdi
   sete   %al
   retq   

is not a viable alternative to C.

Not everything can or should be an enum, and D doesn't have macros -- there
is no workaround.

[That's "array.empty". More context, for people not reading the GDC list:
 http://forum.dlang.org/thread/mailman.75.1396605155.19942.d.gnu@puremagic.com ]

The bug may be hard to fix, and I really appreciate your effort, but this
definitely *is* a major problem.


> relying on 'hidden' features, NRVO being another example, in user code is a bug.

Not if RVO is mandated by a spec. Yes, I had trouble with this in the past too. :)
IIRC an auto-return-type related problem was fixed by Walter some time ago; but I
still have to maintain the workaround, even after the bug has been fixed upstream...

artur


More information about the Digitalmars-d mailing list