search for: seh_pushreg

Displaying 2 results from an estimated 2 matches for "seh_pushreg".

2019 Jun 25
3
Potential missed optimisation with SEH funclets
...} Compiling with CL, the unwind funclet that destroys ‘x’ is just two lines of asm: lea rcx, QWORD PTR x$[rdx] jmp ??1MyClass@@QEAA at XZ However when compiling with clang-cl, it seems like it sets up an entire function frame just for the destructor call: mov qword ptr [rsp + 16], rdx push rbp .seh_pushreg 5 sub rsp, 32 .seh_stackalloc 32 Lea rbp, [rdx + 48] .seh_endprologue Lea rcx, [rbp - 16] call "??1MyClass@@QEAA at XZ” nop add rsp, 32 pop rbp ret Both were compiled with “/c /O2 /MD /EHsc” Is LLVM missing a major optimisation here? -------------- next part -------------- An HTML attachment...
2017 Dec 14
2
x86-64 unwind additions
Hi all, We're at the point in our port of OpenVMS to x86-64 that we're working on the unwind code.  The current ABI and the current codebase doesn't have enough support for true asynchronous unwinding from any point (most notably in the prologue/epilogue) in the code that OpenVMS needs.  We're working on a set of changes to the compact unwind information to handle the additional