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...