diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-10-24 01:58:48 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-10-24 01:58:48 +0000 |
commit | 847a9c6d778b3209683a92fcb37708b2e8b08f3f (patch) | |
tree | 22f2c5e0ca88f3b7bcaddf2710e3f6a71e3462be /lib/Target/X86/X86CallingConv.td | |
parent | adf38913f815a2a453d4783e88b1528473b4740d (diff) | |
download | external_llvm-847a9c6d778b3209683a92fcb37708b2e8b08f3f.zip external_llvm-847a9c6d778b3209683a92fcb37708b2e8b08f3f.tar.gz external_llvm-847a9c6d778b3209683a92fcb37708b2e8b08f3f.tar.bz2 |
Change x86_fastcallcc to require inreg markers. This allows it to known
the difference from "int x" (which should go in registers and
"struct y {int x;}" (which should not).
Clang will be updated in the next patches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166536 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86CallingConv.td')
-rw-r--r-- | lib/Target/X86/X86CallingConv.td | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86CallingConv.td b/lib/Target/X86/X86CallingConv.td index a6d2709..c881b4d 100644 --- a/lib/Target/X86/X86CallingConv.td +++ b/lib/Target/X86/X86CallingConv.td @@ -324,7 +324,7 @@ def CC_X86_32_FastCall : CallingConv<[ CCIfNest<CCAssignToReg<[EAX]>>, // The first 2 integer arguments are passed in ECX/EDX - CCIfType<[i32], CCAssignToReg<[ECX, EDX]>>, + CCIfInReg<CCIfType<[i32], CCAssignToReg<[ECX, EDX]>>>, // Otherwise, same as everything else. CCDelegateTo<CC_X86_32_Common> |