[PATCH] D1622: Make variable argument intrinsics behave correctly in a Win64 CC function.

Charles Davis via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 25 00:37:37 PDT 2015


cdavis5x updated this revision to Diff 33051.
cdavis5x added a comment.

Just call `X86Subtarget::isCallingConvWin64` in `LowerVAARG`.

Don't bother checking if the function has a System V calling
convention on Windows; just use `X86Subtarget::isCallingConvWin64`.
That should be good enough for our purposes, since we're just going
to manually lower `__builtin_va_arg` on a `__builtin_ms_va_list`
anyhow. (I only added lowering of the `va_arg` instruction for
completeness here.)


http://reviews.llvm.org/D1622

Files:
  include/llvm/CodeGen/SelectionDAG.h
  lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/Target/X86/X86ISelLowering.cpp
  lib/Transforms/Instrumentation/MemorySanitizer.cpp
  test/CodeGen/X86/x86-64-ms_abi-vararg.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1622.33051.patch
Type: text/x-patch
Size: 14328 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150825/63248722/attachment.bin>


More information about the llvm-commits mailing list