ARM: enable struct byval for AAPCS.
authorManman Ren <mren@apple.com>
Fri, 10 Aug 2012 20:39:38 +0000 (20:39 +0000)
committerManman Ren <mren@apple.com>
Fri, 10 Aug 2012 20:39:38 +0000 (20:39 +0000)
This change is to be enabled in clang.

rdar://9877866
PR://13350

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161693 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMCallingConv.td

index 7aa3993e308fe68fb9e24c3f762da8de9e8fb7b3..5bc429b3b7edf1cb5a82ad609a022bb8504f42a7 100644 (file)
@@ -132,6 +132,9 @@ def RetCC_ARM_AAPCS_Common : CallingConv<[
 //===----------------------------------------------------------------------===//
 
 def CC_ARM_AAPCS : CallingConv<[
+  // Handles byval parameters.
+  CCIfByVal<CCPassByVal<4, 4>>,
+
   // Handle all vector types as either f64 or v2f64.
   CCIfType<[v1i64, v2i32, v4i16, v8i8, v2f32], CCBitConvertToType<f64>>,
   CCIfType<[v2i64, v4i32, v8i16, v16i8, v4f32], CCBitConvertToType<v2f64>>,