aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/VirtualFileSystem.cpp
diff options
context:
space:
mode:
authorBenjamin Maxwell <benjamin.maxwell@arm.com>2025-09-29 09:06:25 +0100
committerGitHub <noreply@github.com>2025-09-29 09:06:25 +0100
commitf92c23d713c048f8729b66310ea3fef9715f16e5 (patch)
tree3dbb75a2e8da23af6f9c5d6c25098c8e059e00b2 /llvm/lib/Support/VirtualFileSystem.cpp
parent99774ec661a4487f0c334d8396487359db918cd1 (diff)
downloadllvm-f92c23d713c048f8729b66310ea3fef9715f16e5.zip
llvm-f92c23d713c048f8729b66310ea3fef9715f16e5.tar.gz
llvm-f92c23d713c048f8729b66310ea3fef9715f16e5.tar.bz2
[AArch64][SME][SDAG] Add basic support for exception handling (#159363)
This patch adds basic support for exception handling to SelectionDAG for ZT0, ZA, and agnostic ZA state. This works based on the following assumptions: - To throw an exception requires calling into the runtime * The which will be a private ZA call (that commits the lazy save) - Therefore, as noted in https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#exceptions we will always enter the EH block with PSTATE.ZA=0 and TPIDR2_EL0=null, so we can emit a restore of ZA/ZT0. Note: This patch does not handle all cases yet. Currently, there is no support for committing agnostic ZA state before `invoke`s, regardless of whether the callee is also agnostic (to ensure ZA state is saved on all normal returns).
Diffstat (limited to 'llvm/lib/Support/VirtualFileSystem.cpp')
0 files changed, 0 insertions, 0 deletions