[PATCH] D27392: Vectorcall Calling Convention - Adding CodeGen Complete Support
Oren Ben Simhon via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 4 02:10:01 PST 2016
oren_ben_simhon created this revision.
oren_ben_simhon added reviewers: rnk, zvi, aaboud, igorb.
oren_ben_simhon added a subscriber: llvm-commits.
oren_ben_simhon set the repository for this revision to rL LLVM.
The __vectorcall calling convention specifies that arguments to functions are to be passed in registers, when possible.
__vectorcall uses more registers for arguments than __fastcall or the default x64 calling convention use.
The __vectorcall calling convention is only supported in native code on x86 and x64 processors that include Streaming SIMD Extensions 2 (SSE2) and above.
The current implementation does not handle Homogeneous Vector Aggregates (HVAs) correctly and this review attempts to fix it.
The review also includes additional lit tests to cover better HVAs corner cases.
Repository:
rL LLVM
https://reviews.llvm.org/D27392
Files:
include/llvm/CodeGen/CallingConvLower.h
include/llvm/Target/TargetCallingConv.h
lib/CodeGen/CallingConvLower.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/Target/X86/X86CallingConv.cpp
lib/Target/X86/X86CallingConv.h
lib/Target/X86/X86CallingConv.td
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vectorcall.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27392.80200.patch
Type: text/x-patch
Size: 28908 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161204/d30ca327/attachment.bin>
More information about the llvm-commits
mailing list