[PATCH] D53541: [COFF, ARM64] Do not emit x86_seh_recoverfp intrinsic
Reid Kleckner via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 14 14:18:39 PST 2019
rnk added a comment.
In D53541#1353251 <https://reviews.llvm.org/D53541#1353251>, @mgrang wrote:
> > What about the three stack pointer case of stack realignment plus a dynamic alloca? Typically this is the case where recoverfp is necessary.
>
> @rnk Sorry, I missed your comment earlier. I am not sure what scenario the three stack pointer case is. Could you please give me a test case for it?
I think you just need a local variable with an alignment greater than the ABI provides, something like:
struct Foo {
Foo();
int x, y, z;
};
int filter(int);
void may_throw();
void seh_byval(int n) {
Foo __declspec(align(32)) o;
__try {
may_throw();
} __except(filter(o.x)) {
}
}
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D53541/new/
https://reviews.llvm.org/D53541
More information about the cfe-commits
mailing list