diff options
author | Juergen Ributzka <juergen@apple.com> | 2013-12-16 19:53:31 +0000 |
---|---|---|
committer | Juergen Ributzka <juergen@apple.com> | 2013-12-16 19:53:31 +0000 |
commit | 1d86f6730f70de4234b1c09841eebf64c692625f (patch) | |
tree | cedd2abb76ec6f95fde2d797329dc0135bcfe646 /lib/Target/X86/X86CallingConv.td | |
parent | b961a26cec1e7b7b96edc200ef8d09fc12c11088 (diff) | |
download | llvm-1d86f6730f70de4234b1c09841eebf64c692625f.tar.gz llvm-1d86f6730f70de4234b1c09841eebf64c692625f.tar.bz2 llvm-1d86f6730f70de4234b1c09841eebf64c692625f.tar.xz |
[Stackmap] The first integer argument is passed in register for the WebKit_JS calling convention.
Pass the first integer argument (callee) in register to optimize inline caches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197416 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86CallingConv.td')
-rw-r--r-- | lib/Target/X86/X86CallingConv.td | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/X86/X86CallingConv.td b/lib/Target/X86/X86CallingConv.td index 31c62c3f5e..ef8caa0290 100644 --- a/lib/Target/X86/X86CallingConv.td +++ b/lib/Target/X86/X86CallingConv.td @@ -357,6 +357,10 @@ def CC_X86_64_WebKit_JS : CallingConv<[ // Promote i8/i16 arguments to i32. CCIfType<[i8, i16], CCPromoteToType<i32>>, + // Only the first integer argument is passed in register. + CCIfType<[i32], CCAssignToReg<[EDI]>>, + CCIfType<[i64], CCAssignToReg<[RDI]>>, + // Integer/FP values are always stored in stack slots that are 8 bytes in size // and 8-byte aligned. CCIfType<[i32, i64, f32, f64], CCAssignToStack<8, 8>> |