[Issue 21007] New: DMD generates unnecessary prolog/epilog for trivial functions

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jul 2 00:42:42 UTC 2020


https://issues.dlang.org/show_bug.cgi?id=21007

          Issue ID: 21007
           Summary: DMD generates unnecessary prolog/epilog for trivial
                    functions
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: bugzilla at digitalmars.com

The code:

    int square(int num) {  return num * num; }

generates:

    push    RBP
    mov     RBP,RSP
    mov     EAX,EDI
    imul    EAX,EAX
    pop     RBP
    ret

while gdc and ldc do not generate the prolog/epilog.

https://godbolt.org/z/A7EUu7

--


More information about the Digitalmars-d-bugs mailing list