summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorArnold Schwaighofer <aschwaighofer@apple.com>2016-09-10 14:16:55 +0000
committerArnold Schwaighofer <aschwaighofer@apple.com>2016-09-10 14:16:55 +0000
commit112ff66505c9102fedf0a40fb2f44ce97afaabb0 (patch)
treea7422fcd167839e4f5d1051962819db38c9c690c /llvm/lib
parentb66e5eb612f394987cc63d5c1cbdb4c0f82f356d (diff)
downloadbcm5719-llvm-112ff66505c9102fedf0a40fb2f44ce97afaabb0.tar.gz
bcm5719-llvm-112ff66505c9102fedf0a40fb2f44ce97afaabb0.zip
We also need to pass swifterror in R12 under swiftcc not only under ccc
rdar://28190687 llvm-svn: 281138
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86CallingConv.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86CallingConv.td b/llvm/lib/Target/X86/X86CallingConv.td
index 4cb62b56bce..d38145e5519 100644
--- a/llvm/lib/Target/X86/X86CallingConv.td
+++ b/llvm/lib/Target/X86/X86CallingConv.td
@@ -196,6 +196,9 @@ def RetCC_X86_64_WebKit_JS : CallingConv<[
]>;
def RetCC_X86_64_Swift : CallingConv<[
+
+ CCIfSwiftError<CCIfType<[i64], CCAssignToReg<[R12]>>>,
+
// For integers, ECX, R8D can be used as extra return registers.
CCIfType<[i1], CCPromoteToType<i8>>,
CCIfType<[i8] , CCAssignToReg<[AL, DL, CL, R8B]>>,
OpenPOWER on IntegriCloud