[PATCH] D42512: [X86] When using Win64 ABI, exit with error if SSE is disabled for varargs

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 13 11:03:50 PDT 2019


aemerson added a comment.

In D42512#1455303 <https://reviews.llvm.org/D42512#1455303>, @jyknight wrote:

> This patch is not correct -- the crash is not with varargs functions specifically, llvm also crashes for a function declared to explicitly take a float/double. The Win64 calling convention code assigns values to xmm registers, but it should not when sse is disabled.
>
> Additionally, this patch unnecessarily breaks calling vararg functions with _integer_ arguments, which in particular, the EDK2 project does, with windows ABI functions and sse disabled. So, since this breaks existing working code, I'm going to revert this change now, and then propose a different change to address the crash.


Hi James,

Do you have a better fix for this in that case?

Thanks,
Amara


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D42512/new/

https://reviews.llvm.org/D42512





More information about the llvm-commits mailing list