@@ -59,6 +59,11 @@ def ExceptionModelIsNotNone : RuntimeLibcallPredicate<
5959 [{ExceptionModel != ExceptionHandling::None}]
6060>;
6161
62+ def ExceptionModelHasUnwindResume : RuntimeLibcallPredicate<
63+ [{ExceptionModel != ExceptionHandling::None &&
64+ ExceptionModel != ExceptionHandling::SjLj}]
65+ >;
66+
6267def ExceptionModelIsSjLj : RuntimeLibcallPredicate<
6368 [{ExceptionModel == ExceptionHandling::SjLj}]
6469>;
@@ -1153,8 +1158,10 @@ def __ssp_canary_word : RuntimeLibcallImpl<STACK_CHECK_GUARD>;
11531158//===----------------------------------------------------------------------===//
11541159
11551160defvar ExceptionModelCalls = (add
1156- LibcallImpls<(add DefaultExceptionHandlingLibcalls ),
1161+ LibcallImpls<(add __cxa_end_cleanup ),
11571162 ExceptionModelIsNotNone>,
1163+ LibcallImpls<(add _Unwind_Resume),
1164+ ExceptionModelHasUnwindResume>,
11581165 LibcallImpls<(add SjLjExceptionHandlingLibcalls),
11591166 ExceptionModelIsSjLj>
11601167);
@@ -1396,8 +1403,10 @@ defset list<RuntimeLibcallImpl> WinArm64ECSjLjExceptionHandlingLibcalls = {
13961403}
13971404
13981405defvar ExceptionModelCallsArm64EC = (add
1399- LibcallImpls<(add WinArm64ECDefaultExceptionHandlingLibcalls ),
1406+ LibcallImpls<(add arm64ec___cxa_end_cleanup ),
14001407 ExceptionModelIsNotNone>,
1408+ LibcallImpls<(add arm64ec__Unwind_Resume),
1409+ ExceptionModelHasUnwindResume>,
14011410 LibcallImpls<(add WinArm64ECSjLjExceptionHandlingLibcalls),
14021411 ExceptionModelIsSjLj>
14031412);
0 commit comments