[PATCH] Make musttail more robust for vector types on x86

Reid Kleckner rnk at google.com
Thu Nov 6 14:38:12 PST 2014


Hi majnemer,

Previously I tried to plug musttail into the existing vararg lowering
code. That turned out to be a mistake, because non-vararg calls use
significantly different register lowering, even on x86. For example, AVX
vectors are usually passed in registers to normal functions and memory
to vararg functions.  Now musttail uses a completely separate lowering.

Hopefully this can be used as the basis for non-x86 perfect forwarding.

http://reviews.llvm.org/D6156

Files:
  include/llvm/CodeGen/CallingConvLower.h
  lib/CodeGen/CallingConvLower.cpp
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86MachineFunctionInfo.h
  test/CodeGen/X86/musttail-fastcall.ll
  test/CodeGen/X86/musttail-varargs.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6156.15894.patch
Type: text/x-patch
Size: 20332 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141106/11a62832/attachment.bin>


More information about the llvm-commits mailing list