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

Charles Davis cdavis5x at gmail.com
Fri Sep 6 13:43:00 PDT 2013


Hi nadav, asl, eugenis,

This change makes the variable argument intrinsics, `llvm.va_start` and
`llvm.va_copy`, and the `va_arg` instruction behave as they do on Windows
inside a `CallingConv::X86_64_Win64` function. It's needed for a Clang patch
I have to add support for GCC's `__builtin_ms_va_list` constructs.

http://llvm-reviews.chandlerc.com/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.1.patch
Type: text/x-patch
Size: 12462 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130906/590a8965/attachment.bin>


More information about the llvm-commits mailing list