<div dir="auto">Reid is the person to ask about this, but he’s ooo for a few more days.  Ping again next week if you haven’t heard back</div><div><br><div class="gmail_quote"><div dir="ltr">On Tue, Jul 17, 2018 at 12:04 PM via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="#0563C1" vlink="#954F72"><div class="m_2074704732148856142WordSection1"><p class="MsoNormal">Hi,<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">We would like to upstream exception handling support for Windows on ARM64.  Microsoft-published specifications can be found here:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">a)            <a href="https://docs.microsoft.com/en-us/cpp/build/arm64-exception-handling" target="_blank">https://docs.microsoft.com/en-us/cpp/build/arm64-exception-handling</a><u></u><u></u></p><p class="MsoNormal">b)            <a href="https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions" target="_blank">https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions</a><u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">We propose the following approach:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">1)            Upstream miscellaneous clang and llvm patches that are needed for exception handling on ARM64 Windows.  These are small patches that deal with the ABI, relocations, etc.  There are around 8 or 9 patches to upstream.<u></u><u></u></p><p class="MsoNormal">2)            Upstream the MCLayer part.  This mostly deals with unwinding opcodes that are described in a).  This will probably consist of two patches.<u></u><u></u></p><p class="MsoNormal">3)            Upstream the AArch64 frame lowering part.  This mostly deals with emitting unwinding opcodes, as well as some small changes to the exception handling tables.  Probably two patches.<u></u><u></u></p><p class="MsoNormal">4)            Upstream setjmp support.  This consists of two patches (one clang and one llvm).<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Any thoughts?<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Mandeep and I will start upstreaming shortly.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks,<u></u><u></u></p><p class="MsoNormal">Sanjin<u></u><u></u></p></div></div>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>