aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86CallingConv.td
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-10-24 01:58:48 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-10-24 01:58:48 +0000
commit847a9c6d778b3209683a92fcb37708b2e8b08f3f (patch)
tree22f2c5e0ca88f3b7bcaddf2710e3f6a71e3462be /lib/Target/X86/X86CallingConv.td
parentadf38913f815a2a453d4783e88b1528473b4740d (diff)
downloadexternal_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.td2
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>