This patch supports MS SEH extensions __try/__except/__finally. The intrinsics localescape and localrecover are responsible for communicating escaped static allocas from the try block to the handler.
For ARM64 Windows, the fp of the parent function is always passed in x1 to the __except/__finally funclets. So we do not need to generate llvm.x86.seh.recoverfp intrinsic to recover the parent fp.
We also deviate from X86 SEH behavior in that we do not create an MCSymbol to communicate the fp offsets to the funclets but rather directly pass the value of the symbol.
Finally, we need to preserve frame pointers for SEH. So we create a new function/property HasSEHFunclets similar to HasEHFunclets to handle this.