summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2018-12-05 07:09:20 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2018-12-05 07:09:20 +0000
commitefd2cb8a0d5e40a2392da6a5b6ce4d06eb60e7c5 (patch)
treea9179411a92610d8ee9cf4e309e73358998a24fe /llvm/lib
parentd49fc9c6fa9a7046c11cdec8684da48736ee5ee7 (diff)
downloadbcm5719-llvm-efd2cb8a0d5e40a2392da6a5b6ce4d06eb60e7c5.tar.gz
bcm5719-llvm-efd2cb8a0d5e40a2392da6a5b6ce4d06eb60e7c5.zip
AArch64: support funclets in fastcall and swift_call
Functions annotated with `__fastcall` or `__attribute__((__fastcall__))` or `__attribute__((__swiftcall__))` may contain SEH handlers even on Win64. This matches the behaviour of cl which allows for `__try`/`__except` inside a `__fastcall` function. This was detected while trying to self-host clang on Windows ARM64. llvm-svn: 348337
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AArch64/AArch64Subtarget.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.h b/llvm/lib/Target/AArch64/AArch64Subtarget.h
index 641c1c779d2..db3432bc646 100644
--- a/llvm/lib/Target/AArch64/AArch64Subtarget.h
+++ b/llvm/lib/Target/AArch64/AArch64Subtarget.h
@@ -385,6 +385,8 @@ public:
bool isCallingConvWin64(CallingConv::ID CC) const {
switch (CC) {
case CallingConv::C:
+ case CallingConv::Fast:
+ case CallingConv::Swift:
return isTargetWindows();
case CallingConv::Win64:
return true;
OpenPOWER on IntegriCloud