[PATCH] D50166: [ARM64] [Windows] MCLayer support for exception handling
Sanjin Sijaric via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 25 21:24:24 PDT 2018
ssijaric added a comment.
In https://reviews.llvm.org/D50166#1276881, @ssijaric wrote:
> In https://reviews.llvm.org/D50166#1274871, @rnk wrote:
>
> > In https://reviews.llvm.org/D50166#1273097, @efriedma wrote:
> >
> > > Missing test coverage for SEH_SaveFPLR_X, SEH_SaveReg, SEH_SaveFReg, SEH_SetFP, SEH_AddFP, SEH_Nop, and the alloc_s variant of SEH_StackAlloc. (I'd like to see at least one use of each opcode to show the encoding is correct/consistent with llvm-readobj.)
> >
> >
> > I'd also like to see a test for shrink-wrapping. You may have to disable it if you cannot yet describe such prologues it with SEH_ opcodes.
>
>
> Hi Reid,
>
> I think shrink wrapping is disabled by default for AArch64. I have a small test case that gets shrink-wrapped, but only if I enable it manually using -enable-shrink-wrap. Do we need a test case if it's disabled by default?
Wrong observation on my part. Shrink wrapping is enabled by default on AArch64, but only if it has no Windows CFI. There is even a comment in Shrink Wrapping that says:
// Windows with CFI has some limitations that make it impossible
// to use shrink-wrapping.
To handle shrink wrapping, we need to be able to break functions into regions, each with each own .pdata and .xdata. We don't currently support this. But it is definitely something we should handle in the future.
So, I will skip a test case for shrink wrapping. Will add a few more tests to cover remaining the unwind codes.
Repository:
rL LLVM
https://reviews.llvm.org/D50166
More information about the llvm-commits
mailing list