[JITLink][MachO][arm64] Add support for splitting compact-unwind sections.
authorLang Hames <lhames@gmail.com>
Wed, 29 Sep 2021 00:14:54 +0000 (17:14 -0700)
committerLang Hames <lhames@gmail.com>
Wed, 29 Sep 2021 00:29:05 +0000 (17:29 -0700)
commitfc734da79549fd74cff71b8c4c8e689de4a0340f
tree4f0de990e514b85951a94f2461806a788cb1392a
parent241c7b1473edf25a978db745e8fbcc1f0d013b34
[JITLink][MachO][arm64] Add support for splitting compact-unwind sections.

CompactUnwindSplitter splits compact-unwind sections on record boundaries and
adds keep-alive edges from target functions back to their respective records.

In MachO_arm64.cpp, a CompactUnwindSplitter pass is added to the pre-prune pass
list when setting up the standard pipeline.

This patch does not provide runtime support for compact-unwind, but is a first
step towards enabling it.
llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
llvm/test/ExecutionEngine/JITLink/AArch64/MachO_arm64_compact_unwind.s [new file with mode: 0644]