[llvm] [AArch64] Initial compiler support for SVE unwind on Windows. (PR #138609)
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Wed May 7 03:57:46 PDT 2025
================
@@ -6057,24 +6067,24 @@ void llvm::emitFrameOffset(MachineBasicBlock &MBB,
assert(!(SetNZCV && (NumPredicateVectors || NumDataVectors)) &&
"SetNZCV not supported with SVE vectors");
- assert(!(NeedsWinCFI && (NumPredicateVectors || NumDataVectors)) &&
- "WinCFI not supported with SVE vectors");
+ assert(!(NeedsWinCFI && NumPredicateVectors) &&
+ "WinCFI can't allocate fractions of an SVE data vector");
----------------
mstorsjo wrote:
Also, it's not clear what/where is being done, so that when we have one or more predicate vectors to back up, we allocate space for them in the form of full data vectors. For the general calling convention, all of p4-p11 are backed up I presume, but what if we'd be clobbering only one of them in a function where we don't need to back them all up? How is that handled on e.g. Linux today?
https://github.com/llvm/llvm-project/pull/138609
More information about the llvm-commits
mailing list