[PATCH] D45653: [X86] Enable sibling-call optimization for functions returning structs

Aleksandr Urakov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 28 02:04:22 PDT 2018


aleksandr.urakov added a comment.

Yes, I meant 32-bit of course.

I'm not sure about this fix, now it doesn't seem so simple to me... What do you think about the next check?

  if (IsCalleeWin64 != IsCallerWin64)
    return false;

Do you see any pitfalls here?

As for different sret arguments, I think that it doesn't matter, because they will be processed in the same way for the same calling convention, and it shouldn't break the stack. So we can replace a `call` with a `jump` in this case, right?


https://reviews.llvm.org/D45653





More information about the llvm-commits mailing list