search for: seh_endprologue

Displaying 9 results from an estimated 9 matches for "seh_endprologue".

2019 Jun 25
3
Potential missed optimisation with SEH funclets
...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 was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/att...
2014 Apr 17
2
[LLVMdev] [PATCH] Seh exceptions on Win64
...; after calls > to noreturns. This is actually the prime motivation for me wanting to > emit code for 'unreachable' > <http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-April/072145.html> ... > > Vadim Yaron also pointed out that int main() { throw 1; } generates two .seh_endprologue instructions. I still did not fix this bug. Regards, Kai > > > On Tue, Apr 15, 2014 at 11:43 AM, Martell Malone > <martellmalone at gmail.com <mailto:martellmalone at gmail.com>> wrote: > > Hi, > > I'd like to submit a patch to match the clang patc...
2015 Aug 16
2
[LLVMdev] Adding a stack probe function attribute
...gt;; flags: FrameSetup Successors according to CFG: BB#2 BB#1 BB#2: derived from LLVM BB %0 Predecessors according to CFG: BB#1 %RSP<def,tied1> = SUB64rr %RSP<tied0>, %RAX, %EFLAGS<imp-def>; flags: FrameSetup SEH_StackAlloc 40040; flags: FrameSetup SEH_EndPrologue; flags: FrameSetup %RCX<def> = LEA64r %RSP, 1, %noreg, 40, %noreg %EDX<def> = MOV32r0 %EFLAGS<imp-def,dead> CALL64pcrel32 <ga:@dummy_use>, <regmask>, %RSP<imp-use>, %RCX<imp-use>, %EDX<imp-use,kill>, %RSP<imp-def>...
2018 Feb 06
3
What does a dead register mean?
Hi, My understanding of a "dead" register is a def that is never used. However, when I dump the MI after reg alloc on a simple program I see the following sequence: ADJCALLSTACKDOWN64 0, 0, 0, *implicit-def dead %rsp*, implicit-def dead %eflags, implicit-def dead %ssp, implicit %rsp, implicit %ssp CALL64pcrel32 @foo, <regmask %bh %bl %bp %bpl %bx %ebp %ebx %rbp %rbx %r12 %r13 %r14
2015 Oct 27
2
How to create global symbol from record offset
I would like to create something like this (x86_64) .section __DATA,__data .align 4 _a: .long 18 .globl _b _b: .long 48 If you like to notice, there is no alignment between _a and _b. _b is basically offseting into a record structure. ---- When I use two discrete structs, I get .aligns and I also don't trust the tools to keep the two globals together. %struct.a = type { i32 }
2017 Nov 21
2
question about xray tls data initialization
...n call .p2align 4, 0x90 call: # @call .seh_proc call # BB#0: # %entry .p2align 1, 0x90 .Lxray_sled_0: .ascii "\353\t" nop word ptr [rax + rax + 512] sub rsp, 16 .seh_stackalloc 16 .seh_endprologue mov dword ptr [rsp + 12], ecx mov dword ptr [rsp + 8], 0 mov dword ptr [rsp + 4], 0 .LBB0_1: # %for.cond # =>This Inner Loop Header: Depth=1 mov eax, dword ptr [rsp + 4] cmp eax, dword ptr [...
2015 Jul 28
1
[LLVMdev] Adding a stack probe function attribute
On Tue, Jul 28, 2015 at 6:34 PM, Reid Kleckner <rnk at google.com> wrote: > On Tue, Jul 28, 2015 at 2:25 AM, John Kåre Alsaker > <john.mailinglists at gmail.com> wrote: >> >> On Tue, Jul 28, 2015 at 12:44 AM, Reid Kleckner <rnk at google.com> wrote: >> > Yeah, the function attributes section of LangRef is a reasonable place >> > to >>
2017 Nov 16
2
question about xray tls data initialization
I'm learning the xray library and try if it can be built on windows, in xray_fdr_logging_impl.h line 152 , comment written as // Using pthread_once(...) to initialize the thread-local data structures but at line 175, 183, code written as thread_local pthread_key_t key; // Ensure that we only actually ever do the pthread initialization once. thread_local bool UNUSED Unused = [] {
2014 Apr 15
10
[LLVMdev] [PATCH] Seh exceptions on Win64
Hi, I'd like to submit a patch to match the clang patch on the front end. http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140414/103257.html The front end doesn't need this patch to work but it's still important. This is mostly based on work done by kai from redstar.de Could I get some feedback on this? I'm not sure if the emitting of the register names will effect