[PATCH] D18716: Swift Calling Convention: target-specific changes

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 11 21:02:55 PDT 2016


MatzeB added a subscriber: MatzeB.

================
Comment at: llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.cpp:84-87
@@ -78,2 +83,6 @@
     return CSR_AArch64_CXX_TLS_Darwin_RegMask;
+  if (MF.getSubtarget<AArch64Subtarget>().getTargetLowering()
+          ->supportSwiftError() &&
+      MF.getFunction()->getAttributes().hasAttrSomewhere(Attribute::SwiftError))
+    return CSR_AArch64_AAPCS_SwiftError_RegMask;
   if (CC == CallingConv::PreserveMost)
----------------
In case of a call the MachineFunction passed to getCallPreservedMask() appears to be the callers machine function (because in general we do not have a machine function for the callee), but I believe this check should be about the callee...


Repository:
  rL LLVM

http://reviews.llvm.org/D18716





More information about the llvm-commits mailing list