[llvm-branch-commits] [llvm] RuntimeLibcalls: Make sure _Unwind_Resume entries are mutually exclusive (PR #164195)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sun Oct 19 18:28:34 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-x86
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/164195.diff
1 Files Affected:
- (modified) llvm/include/llvm/IR/RuntimeLibcalls.td (+11-2)
``````````diff
diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td b/llvm/include/llvm/IR/RuntimeLibcalls.td
index e853f427d532a..243b864ccf033 100644
--- a/llvm/include/llvm/IR/RuntimeLibcalls.td
+++ b/llvm/include/llvm/IR/RuntimeLibcalls.td
@@ -59,6 +59,11 @@ def ExceptionModelIsNotNone : RuntimeLibcallPredicate<
[{ExceptionModel != ExceptionHandling::None}]
>;
+def ExceptionModelHasUnwindResume : RuntimeLibcallPredicate<
+ [{ExceptionModel != ExceptionHandling::None &&
+ ExceptionModel != ExceptionHandling::SjLj}]
+>;
+
def ExceptionModelIsSjLj : RuntimeLibcallPredicate<
[{ExceptionModel == ExceptionHandling::SjLj}]
>;
@@ -1153,8 +1158,10 @@ def __ssp_canary_word : RuntimeLibcallImpl<STACK_CHECK_GUARD>;
//===----------------------------------------------------------------------===//
defvar ExceptionModelCalls = (add
- LibcallImpls<(add DefaultExceptionHandlingLibcalls),
+ LibcallImpls<(add __cxa_end_cleanup),
ExceptionModelIsNotNone>,
+ LibcallImpls<(add _Unwind_Resume),
+ ExceptionModelHasUnwindResume>,
LibcallImpls<(add SjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
);
@@ -1396,8 +1403,10 @@ defset list<RuntimeLibcallImpl> WinArm64ECSjLjExceptionHandlingLibcalls = {
}
defvar ExceptionModelCallsArm64EC = (add
- LibcallImpls<(add WinArm64ECDefaultExceptionHandlingLibcalls),
+ LibcallImpls<(add arm64ec___cxa_end_cleanup),
ExceptionModelIsNotNone>,
+ LibcallImpls<(add arm64ec__Unwind_Resume),
+ ExceptionModelHasUnwindResume>,
LibcallImpls<(add WinArm64ECSjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
);
``````````
</details>
https://github.com/llvm/llvm-project/pull/164195
More information about the llvm-branch-commits
mailing list