diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2018-12-05 07:09:20 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2018-12-05 07:09:20 +0000 |
commit | efd2cb8a0d5e40a2392da6a5b6ce4d06eb60e7c5 (patch) | |
tree | a9179411a92610d8ee9cf4e309e73358998a24fe /llvm/lib | |
parent | d49fc9c6fa9a7046c11cdec8684da48736ee5ee7 (diff) | |
download | bcm5719-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.h | 2 |
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; |