This patch adds the ARM64 unwind opcodes to the MCLayer, as well as SEH directives that will be emitted by the frame lowering in a patch that will follow. This patch, in conjunction with the frame lowering patch, was tested on a couple of SPEC CPU2006 C++ benchmarks that make use of exception handling. We only emit the unwinding opcodes into object files for now.
A couple of notes:
1) I am not sure how to create a test case with this patch only, and without the frame lowering patch that actually emits the SEH directives. Perhaps I can create a MIR test case with the SEH opcodes, and use llvm-objdump to check the .xdata section?
2) We tacked the ARM64 Windows unwind code emits to MCStreamer.cpp, as it already had unwinding info for Windows on X86, parts of which we reused. I think this should go into AArch64TargetStreamer, AArch64WinCOFFTargetStreamer and AArch64TargetAsmStreamer, so that we don't clutter MCStreamer further.