search for: leh_func_end1

Displaying 15 results from an estimated 15 matches for "leh_func_end1".

2010 Jan 22
0
[LLVMdev] Exception handling question
...# %e subq $8, %rsp .Llabel4: .Llabel1: callq g .Llabel2: # BB#1: # %c addq $8, %rsp ret .LBB1_2: # %u .Llabel3: addq $8, %rsp ret .size f, .-f .Leh_func_end1: .section .gcc_except_table,"a", at progbits .align 4 GCC_except_table1: .byte 0 # Padding .byte 0 # Padding .Lexception1: .byte 255...
2009 Sep 14
4
[LLVMdev] Exception Handling Tables Question
...atic void inline_me(void) { Cleanup C; throw 0; } int main(void) { try { inline_me(); } catch (...) { printf("in catch all\n"); } return 0; } (assume it's all been inlined), the EH handling table for "main" goes from Leh_func_begin1 to Leh_func_end1, marking off each region whether it can throw or not. From my reading of the Exception Tables documentation, this is unnecessary – at least for C++. If a call throws and it doesn't have an entry in the unwind table, then the "terminate()" function is called. Is it fair to assu...
2010 Jan 22
2
[LLVMdev] Exception handling question
...# %.finally_handler movl $.L__string_27, %edi xorb %al, %al call printf xorl %eax, %eax addq $56, %rsp ret .size _ZN4N0014Main5test5EN2IO6WriterEiA_l, .-_ZN4N0014Main5test5EN2IO6WriterEiA_l .Lfunc_end153: .Leh_func_end153: .section .gcc_except_table,"a", at progbits .align 4 GCC_except_table153: .byte 0x0 # Padding .Lexception153: .byte 0xFF # @LPStart format (DW_EH_PE_omit) .byte 0x0...
2009 Sep 14
0
[LLVMdev] Exception Handling Tables Question
Hi Bill, > Right now we generate call sites for all of the code in a function, > even for code that cannot (or at least shouldn't) throw an exception. ... > (assume it's all been inlined), the EH handling table for "main" goes > from Leh_func_begin1 to Leh_func_end1, marking off each region whether > it can throw or not. From my reading of the Exception Tables > documentation, this is unnecessary – at least for C++. If a call > throws and it doesn't have an entry in the unwind table, then the > "terminate()" function is called...
2010 Jan 21
4
[LLVMdev] Exception handling question
Hi, I'm trying to get exception handling working in my compiler targetting LLVM. I've been working from the LLVM exception handling documentation (including http://llvm.org/docs/ExceptionHandling.html and http://wiki.llvm.org/HowTo:_Build_JIT_based_Exception_mechanism) and looking at g++-llvm's output. I've been trying to get a minimal test function to work, which simply invokes
2010 Jan 22
0
[LLVMdev] Exception handling question
...%.finally_handler > movl $.L__string_27, %edi > xorb %al, %al > call printf > xorl %eax, %eax > addq $56, %rsp > ret > .size _ZN4N0014Main5test5EN2IO6WriterEiA_l, > .-_ZN4N0014Main5test5EN2IO6WriterEiA_l > .Lfunc_end153: > .Leh_func_end153: > .section .gcc_except_table,"a", at progbits > .align 4 > GCC_except_table153: > .byte 0x0 # Padding > .Lexception153: > .byte 0xFF # @LPStart format > (DW_E...
2010 Jan 08
4
[LLVMdev] Inlining
...and the generated assembly (with much red tape snipped for now): --- .file "testInline.bc" .text .align 16 .globl foo .type foo, at function foo: # @foo .Leh_func_begin1: .LBB1_0: imull $7, %edi, %eax ret .size foo, .-foo .Leh_func_end1: .align 16 .globl main .type main, at function main: # @main .Leh_func_begin2: .LBB2_0: subq $8, %rsp .Llabel1: movl $6, %edi call foo addq $8, %rsp ret .size main, .-main .Leh_func_end2: --- Even this monkey (thinks he) can see the...
2011 Dec 22
1
[LLVMdev] tail call optimization question
...%rsi popq %rbx jmp _ack.15 ## TAILCALL LBB1_3: ## %if.yes incq %rsi movq %rsi, %rax popq %rbx ret LBB1_4: ## %if.yes1 movq %rbx, %rdi decq %rdi movl $1, %esi popq %rbx jmp _ack.15 ## TAILCALL Leh_func_end1: <snip> Thanks very much, N
2012 Mar 28
2
[LLVMdev] Suboptimal code due to excessive spilling
...Folded Reload addsd %xmm2, %xmm0 adcl $0, %esi cmpl %eax, %edi movl %edi, %ebx jne .LBB1_2 .LBB1_3: # %._crit_edge movsd %xmm0, 80(%esp) fldl 80(%esp) addl $88, %esp popl %esi popl %edi popl %ebx ret .Ltmp20: .size foo, .Ltmp20-foo .Ltmp21: .cfi_endproc .Leh_func_end1: ====== Output B ====== ====================== foo: # @foo .Ltmp11: .cfi_startproc # BB#0: pushl %edi .Ltmp12: .cfi_def_cfa_offset 8 pushl %esi .Ltmp13: .cfi_def_cfa_offset 12 subl $12, %esp .Ltmp14: .cfi_def_cfa_offset 24 .Ltmp15: .cfi_offset %esi, -12...
2009 Feb 24
0
[LLVMdev] Broke my tail (call)
On 2009-02-24 12:35, Jon Harrop wrote: > On Tuesday 24 February 2009 00:16:37 Dan Gohman wrote: > >> On Feb 23, 2009, at 5:59 AM, Anton Korobeynikov wrote: >> >>> This is not true in general and highly target- and CC- dependent. For >>> example, you can ran out of registers and then your struct can be >>> passed >>> partly in registers
2012 Apr 05
0
[LLVMdev] Suboptimal code due to excessive spilling
...Folded Reload addsd %xmm2, %xmm0 adcl $0, %esi cmpl %eax, %edi movl %edi, %ebx jne .LBB1_2 .LBB1_3: # %._crit_edge movsd %xmm0, 80(%esp) fldl 80(%esp) addl $88, %esp popl %esi popl %edi popl %ebx ret .Ltmp20: .size foo, .Ltmp20-foo .Ltmp21: .cfi_endproc .Leh_func_end1: ====== Output B ====== ====================== foo: # @foo .Ltmp11: .cfi_startproc # BB#0: pushl %edi .Ltmp12: .cfi_def_cfa_offset 8 pushl %esi .Ltmp13: .cfi_def_cfa_offset 12 subl $12, %esp .Ltmp14: .cfi_def_cfa_offset 24 .Ltmp15: .cfi_offset %esi, -12...
2009 Feb 24
3
[LLVMdev] Broke my tail (call)
On Tuesday 24 February 2009 00:16:37 Dan Gohman wrote: > On Feb 23, 2009, at 5:59 AM, Anton Korobeynikov wrote: > > This is not true in general and highly target- and CC- dependent. For > > example, you can ran out of registers and then your struct can be > > passed > > partly in registers and partly on stack. And depending on the stack > > frame size of the callee
2008 Sep 26
1
[LLVMdev] Unwinds Gone Wild
...lp me out or is > this a bug? > Marc, I tried the exact same example as you did, and got the same issue. If you look at the generated x86 machine code, it looks like unwind is compiled into nothing at all: > foo: > .Leh_func_begin1: > > .Llabel1: > .size foo, .-foo > .Leh_func_end1: > (Note that there isn't even a return instruction). This means your execution just falls through into the following function without unwinding its own stack frame. In the above example, this causes it to fall into main and push another stack frame for main, over and over again until it r...
2008 Jul 31
4
[LLVMdev] Unwinds Gone Wild
Can anyone tell me if invoke/unwind is stable in 2.3? I'm seeing some really weird stuff -- unwinds are ending up in seemingly arbitrary places... definitely not inside the caller's unwind block My target is x86. As a simple test, I tried to compile the following code and I got a segmentation fault. It looks good to me. Can someone help me out or is this a bug? define i32 @foo() {
2012 Mar 20
0
[LLVMdev] Runtime linker issue wtih X11R6 on i386 with -O3 optimization
...-8(%ebp), %ecx movl %edx, (%esp) movl %ecx, 4(%esp) movl %eax, %ebx calll printf at PLT .loc 1 20 1 # a.c:20:1 movl %eax, -12(%ebp) # 4-byte Spill addl $20, %esp popl %ebx popl %ebp ret .Ltmp23: .Ltmp24: .size meh, .Ltmp24-meh .Lfunc_end1: .Ltmp25: .cfi_endproc .Leh_func_end1: .globl foo .align 16, 0x90 .type foo, at function foo: # @foo .Ltmp29: .cfi_startproc .Lfunc_begin2: .loc 1 24 0 # a.c:24:0 # BB#0: pushl %ebp .Ltmp30: .cfi_def_cfa_offset 8 .Ltmp31: .cfi_offset %ebp, -8 movl %esp, %ebp .Ltmp32: .cfi_d...