search for: leh_func_begin0

Displaying 18 results from an estimated 18 matches for "leh_func_begin0".

2011 Sep 02
2
[LLVMdev] Exception Tables in latest LLVM
...5 # @LPStart Encoding = omit .byte 3 # @TType Encoding = udata4 .uleb128 41 # @TType base offset .byte 3 # Call site Encoding = udata4 .uleb128 39 # Call site table length .Lset0 = .Leh_func_begin0-.Leh_func_begin0 # Region start .long .Lset0 .Lset1 = .Ltmp0-.Leh_func_begin0 # Region length .long .Lset1 .long 0 # Landing pad .uleb128 0 # Action .Lset2 = .Ltmp0-.Leh_func_begin0 # Region start .long .Lset2 .Lse...
2011 Sep 02
0
[LLVMdev] Exception Tables in latest LLVM
...art Encoding = omit > .byte 3 # @TType Encoding = udata4 > .uleb128 41 # @TType base offset > .byte 3 # Call site Encoding = udata4 > .uleb128 39 # Call site table length > .Lset0 = .Leh_func_begin0-.Leh_func_begin0 # Region start > .long .Lset0 > .Lset1 = .Ltmp0-.Leh_func_begin0 # Region length > .long .Lset1 > .long 0 # Landing pad > .uleb128 0 # Action > .Lset2 = .Ltmp0-.Leh_func_begin0 # Reg...
2011 Sep 02
2
[LLVMdev] Exception Tables in latest LLVM
...> .byte 3 # @TType Encoding = udata4 >> .uleb128 41 # @TType base offset >> .byte 3 # Call site Encoding = udata4 >> .uleb128 39 # Call site table length >> .Lset0 = .Leh_func_begin0-.Leh_func_begin0 # Region start >> .long .Lset0 >> .Lset1 = .Ltmp0-.Leh_func_begin0 # Region length >> .long .Lset1 >> .long 0 # Landing pad >> .uleb128 0 # Action >> .Lset2 = .Ltmp0-....
2014 May 11
2
[LLVMdev] [cfe-dev] Code generation for noexcept functions
...ated by clang (ToT, -O3, Linux x64) is: > > .globl _Z5test2PFvvE > .align 16, 0x90 > .type _Z5test2PFvvE, at function > _Z5test2PFvvE: # @_Z5test2PFvvE > .cfi_startproc > .cfi_personality 3, __gxx_personality_v0 > .Leh_func_begin0: > .cfi_lsda 3, .Lexception0 > # BB#0: # %entry > pushq %rbx > .Ltmp6: > .cfi_def_cfa_offset 16 > .Ltmp7: > .cfi_offset %rbx, -16 > movq %rdi, %rbx > .Ltmp0: > callq *%rbx > .Ltmp...
2011 Jul 28
2
[LLVMdev] LLVMdev Digest, Vol 85, Issue 50
...extern void print(const char *) __attribute__((nothrow)); void bar () { try { foo(); } catch (...) { print("caught (...)\n"); } } .section __TEXT,__gcc_except_tab ... ;; CallSite Table .long Ltmp0-Leh_func_begin0 .long Ltmp1-Ltmp0 <--- this region covers the call to foo .long Ltmp2-Leh_func_begin0 .byte 1 <--- this is it's Action Table index ... ;; Action Table .byte 1 .byte 0 ;;...
2011 Sep 02
0
[LLVMdev] Exception Tables in latest LLVM
...le0: >>> .Lexception0: >>> .byte 255 # @LPStart Encoding = omit >>> .byte 3 # @TType Encoding = udata4 >>> .uleb128 41 # @TType base offset >>> .byte 3 # Call site Encoding = udata4 >>> .uleb128 39 # Call site table length >>> .Lset0 = .Leh_func_begin0-.Leh_func_begin0 # Region start >>> .long .Lset0 >>> .Lset1 = .Ltmp0-.Leh_func_begin0 # Region length >>> .long .Lset1 >>> .long 0 # Landing pad >>> .uleb128 0 # Action >>> .Lset2 = .Ltmp0-.Leh_func_begin0 # Region start >>> .long .Lset...
2011 Jul 28
0
[LLVMdev] LLVMdev Digest, Vol 85, Issue 50
...ng L$set$2 .byte 0x0 i.e. the range of instructions covering the call to foo() has an action table index of 0, meaning a cleanup. Here is the output of ToT clang on this code: __Z3barv: ## @_Z3barv Ltmp5: .cfi_startproc .cfi_personality 155, ___gxx_personality_v0 Leh_func_begin0: .cfi_lsda 16, Lexception0 ## BB#0: ## %entry pushq %rbp Ltmp6: .cfi_def_cfa_offset 16 Ltmp7: .cfi_offset %rbp, -16 movq %rsp, %rbp Ltmp8: .cfi_def_cfa_register %rbp subq $80, %rsp leaq -8(%rbp), %rdi callq __ZN3BobC1Ev leaq -16(%rbp), %rdi callq __ZN3BobC1...
2011 Jul 28
0
[LLVMdev] LLVMdev Digest, Vol 85, Issue 50
On Jul 28, 2011, at 8:41 AM, Peter Lawrence wrote: > In short the problem is that there is an ambiguity between a cleanup handler having > an Action Table entry that looks like > .byte 1 ;; Type = 1 (ie #1 entry in Types Table) > .byte 0 ;; Next = 0 (ie none, ie this is the list terminator for this try-statement) > together with a corresponding Types Table entry #1 that looks
2011 Jul 28
2
[LLVMdev] LLVMdev Digest, Vol 85, Issue 50
On Jul 27, 2011, at 11:10 AM, John McCall wrote: > >> 4) IIUC, llvm has inherited a bug from gcc where the debugger >> cannot let the user know an exception is >> going to be uncaught until after the stack has been unwound -- >> contrary to the design intentions of the >> unwind library that most exception implementations are based on >> (with a two
2011 Sep 27
2
[LLVMdev] Poor code generation for odd sized vectors
...oat> %a.78, %a.79 ret <18 x float> %result.80 } This works really well when the vector length (16 in the above) is an integer multiple of the SSE vector register width (4) resulting in the following assember code: vector_add_float: # @vector_add_float .Leh_func_begin0: # BB#0: # %entry addps %xmm4, %xmm0 addps %xmm5, %xmm1 addps %xmm6, %xmm2 addps %xmm7, %xmm3 ret However, when the vector length is increased to say 18, the generated code is rather poor, or rather is code that could easily be improved by hand. Is this a...
2015 Dec 30
2
Substitute instruction with a jump to a library code
...1 @ Tag_ABI_FP_exceptions .eabi_attribute 23, 3 @ Tag_ABI_FP_number_model .eabi_attribute 24, 1 @ Tag_ABI_align_needed .eabi_attribute 25, 1 @ Tag_ABI_align_preserved .file "simple-fadd.ll" .globl fadd .align 2 .type fadd,%function fadd: @ @fadd .fnstart .Leh_func_begin0: @ BB#0: push {lr} bl __addsf3 pop {lr} mov pc, lr .Ltmp0: .size fadd, .Ltmp0-fadd .Leh_func_end0: .fnend .ident "Ubuntu clang version 3.6.0-2ubuntu1~trusty1 (tags/RELEASE_360/final) (based on LLVM 3.6.0)" One can clearly see a bl __addsf3 instruction. However for some reason my target...
2012 Feb 09
3
[LLVMdev] x86-64 sign extension for parameters and return values
...Fedora 16 Linux host GCC 4.6.2 produces: sdiv: .LFB11: .cfi_startproc movsbl %dil, %eax movsbl %sil, %esi movl %eax, %edx sarl $31, %edx idivl %esi ret where as clang 2.9 produces: sdiv: # @sdiv .Leh_func_begin0: # BB#0: movl %edi, %eax cltd idivl %esi movsbl %al, %eax ret GCC assumes the parameters have *not* been sign extended and assumes it is the receivers job to extend the return value. LLVM assumes the parameters *have* been sign extended and that the r...
2014 Apr 01
6
[LLVMdev] Proposal: Loads/stores with deterministic trap/unwind behavior
...declare i32 @__gxx_personality_v0(...) -------------- next part -------------- .text .file "../llvm/test/Feature/iload-exception.ll" .globl _Z3barv .type _Z3barv, at function _Z3barv: # @_Z3barv .cfi_startproc .cfi_personality 3, __gxx_personality_v0 .Leh_func_begin0: .cfi_lsda 3, .Lexception0 # BB#0: # %entry pushq %rax .Ltmp3: .cfi_def_cfa_offset 16 .Ltmp0: movb (%rdi), %al .Ltmp1: # BB#1: # %try.cont popq %rdx retq .LBB0_2: # %lpad .Ltmp2: movq %rax, %rdi c...
2010 May 05
1
[LLVMdev] Size of packed struct type <{<3 x i32>, i32}>
...) { entry: %vectoraddr = getelementptr %mytype* %src, i64 %index, i32 0 %vector = load <3 x i32>* %vectoraddr %tmp1 = extractelement <3 x i32> %vector, i32 2 store i32 %tmp1, i32* %result ret void } When I generate code (llc revision: 103084) i get: .Leh_func_begin0: # BB#0: # %entry leaq (%rsi,%rsi,4), %rax <- Multiply index by 5 pshufd $2, (%rdi,%rax,4), %xmm0 <- multiply again by 4 (element size 20) and add base pointer movd %xmm0, (%rdx) ret My guess was that the size should...
2011 Sep 27
0
[LLVMdev] Poor code generation for odd sized vectors
...t> %result.80 > } > > This works really well when the vector length (16 in the above) is > an integer multiple of the SSE vector register width (4) resulting > in the following assember code: > > vector_add_float: # @vector_add_float > .Leh_func_begin0: > # BB#0: # %entry > addps %xmm4, %xmm0 > addps %xmm5, %xmm1 > addps %xmm6, %xmm2 > addps %xmm7, %xmm3 > ret > > However, when the vector length is increased to say 18, the generated > code is rather poor, or rather is code that...
2012 Feb 23
0
[LLVMdev] x86-64 sign extension for parameters and return values
...FB11: >        .cfi_startproc >        movsbl  %dil, %eax >        movsbl  %sil, %esi >        movl    %eax, %edx >        sarl    $31, %edx >        idivl   %esi >        ret > > where as clang 2.9 produces: > > sdiv:                                   # @sdiv > .Leh_func_begin0: > # BB#0: >        movl    %edi, %eax >        cltd >        idivl   %esi >        movsbl  %al, %eax >        ret > > GCC assumes the parameters have *not* been sign extended and assumes > it is the receivers job to extend the return value.  LLVM assumes the > paramet...
2011 Dec 09
3
[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
2011/12/9 Joerg Sonnenberger <joerg at britannica.bec.de> > On Fri, Dec 09, 2011 at 10:03:37AM +0100, Seb wrote: > > I think my explanation is not clear, my front-end did NOTt generate > > 'llvm.memcpy' it generate LL code that after use of LLVM 'opt' get > > transformed by 'loop-idom' pass into an 'llvm.memcpy' for an overlapping >
2015 Feb 10
3
[LLVMdev] Bug in ARM Thumb inline asm?
I'm porting the musl C library to ARM Thumb. It looks like inline asm is failing in some cases. Here's one: The lseek system call looks like this: ... off_t result; return syscall(SYS__llseek, fd, offset>>32, offset, &result, whence) ? -1 : result; ... Which eventually goes through this macro: static inline long __syscall5(long n, long a, long b, long c,