-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[mono][llvm] Support exception filters #54185
Comments
@BrzVlad - any overlap between work done on exception filters from issues in your queue ? |
Supporting exception filters with llvm requires some research, unrelated with any other work. We never supported exception filters with llvm. Doesn't seem feasible for .NET 6.0 |
Moving this to Future milestone. |
@jandupej #54176 is closed but referenced in runtime/src/tests/issues.targets Lines 1207 to 1212 in f020861
non-temporal store intrinsics are not supported on this platform .
|
@kasperk81 The reason for disabling the test you indicate is strange. I created an issue where enabling these tests can be tracked: #93202 |
Seen in https://github.com/dotnet/runtime/blob/6474c725025a8b29b4265c4d9485018982ee6b16/src/tests/JIT/HardwareIntrinsics/X86/Sse42.X64/Crc32.cs. Makes Mono bail out of translating to LLVM with "LLVM failed for 'Program.Main': non-finally/catch/fault clause."
The resulting test then ends up with weird semi-consistent codegen which causes it to print:
but still yield 0 (instead of 100) as an exit code.
Random notes:
https://llvm.org/docs/LangRef.html#llvm-localescape-and-llvm-localrecover-intrinsics
https://github.com/dotnet/llvm-project/blob/release/11.x/llvm/test/CodeGen/X86/wineh-coreclr.ll
One difficulty with
llvm.localaddress
andllvm.localrecover
is that they are currently only supported on x86, x86-64, and aarch64. But it doesn't look like it'd be too hard to add support for other platforms. (But I have no idea how involved this would be for WASM)Also enable JIT/HardwareIntrinsics/X86/Sse42.X64/Crc32_{r,ro} test with the fix
The text was updated successfully, but these errors were encountered: