search for: __z3foov

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

Did you mean: _z3foov
2011 Jul 28
0
[LLVMdev] LLVMdev Digest, Vol 85, Issue 50
...from gcc-4.2 for your cleanup example: .text .globl __Z3barv __Z3barv: LFB2: pushq %rbp LCFI0: movq %rsp, %rbp LCFI1: pushq %rbx LCFI2: subq $40, %rsp LCFI3: leaq -17(%rbp), %rdi call __ZN3BobC1Ev leaq -18(%rbp), %rdi call __ZN3BobC1Ev leaq -19(%rbp), %rdi call __ZN3BobC1Ev LEHB0: call __Z3foov LEHE0: <snip> .section __TEXT,__gcc_except_tab GCC_except_table0: LLSDA2: .byte 0xff .byte 0xff .byte 0x3 .byte 0x1a .set L$set$0,LEHB0-LFB2 # from .long L$set$0 .set L$set$1,LEHE0-LEHB0 .long L$set$1 .set L$set$2,L6-LFB2 .long L$set$2 .byte 0x0 i.e. the range of instruction...
2011 Jul 28
2
[LLVMdev] LLVMdev Digest, Vol 85, Issue 50
John, I'm still not sure what you're talking about, I have included the assembly output from two compilations, one with a user explicit catch-all, one with only an implicit cleanup, the DWARF Action Table and Types Table are absolutely identical, as are the indexes used to reference the Action Table from the region maps. -Peter Lawrence.
2011 Aug 05
0
[LLVMdev] RFC: Exception Handling Rewrite
...oid baz(); void foo() throw (A) __attribute__((always_inline)); void foo() throw (A) { baz(); } void bar() throw (B) { try { foo(); } catch (const char *s) { printf("%s\n", s); } } GCC outputs this: [Irk:llvm] gcc-4.2 -S -o - -dA t.cpp -O3 .text .align 4,0x90 .globl __Z3foov __Z3foov: . . . LEHB0: call __Z3bazv LEHE0: . . . GCC_except_table0: LLSDA8: .byte 0xff # @LPStart format (omit) .byte 0x9b # @TType format (indirect pcrel sdata4) .byte 0x25 # uleb128 0x25; @TType base offset .byte 0x3 # call-site format (udata4) .byte 0x1a # uleb128 0x1a; Call-site tabl...
2008 Sep 25
5
[LLVMdev] confused about llvm.memory.barrier
...%0 = load i32* @b, align 4 ; <i32> [#uses=1] 12. ret i32 %0 13. } 14. 15. declare void @llvm.memory.barrier(i1, i1, i1, i1, i1) nounwind compiled with: 1. llc -mcpu=core2 -mattr=+sse2,+sse3 -f -o test.s test.bc becomes 1. .text 2. .align 4,0x90 3. .globl __Z3foov 4. __Z3foov: 5. movl L_a$non_lazy_ptr, %eax 6. movl $1, (%eax) 7. nop 8. movl L_b$non_lazy_ptr, %eax 9. movl (%eax), %eax 10. ret 11. 12. .section __IMPORT,__pointers,non_lazy_symbol_pointers 13. L_a$non_lazy_ptr: 14. .indirect_symbol _a 15. .long 0 16. L_b$non_lazy_ptr: 17. .indirect_s...
2010 Dec 02
0
[LLVMdev] Alternative exception handling proposal
...ct catch handler. When you divorce the point where you branch to the catch handler from the point where it throws, you now have a huge gap that cannot be easily recovered from, and may be impossible to recover from. This is the code that G++ generates from the example in my proposal: LEHB2: call __Z3foov LEHE2: . . . L24: # basic block 10 movq %rax, %r12 L5: # basic block 11 movl %edx, %ebx leaq -18(%rbp), %rdi call __ZN1BD1Ev movslq %ebx,%rdx jmp L7 . . . L7: # basic block 15 movl %edx, %ebx leaq -17(%rbp), %rdi call __ZN1AD1Ev movslq %ebx,%rdx jmp L19 . . . L19: # basic block 19 c...
2011 Aug 05
3
[LLVMdev] RFC: Exception Handling Rewrite
Bill, ooops, yes, I described the meaning of "throw(A)" backwards, but I still think my example shows why you cannot merge LandingpadInst while inlining because multiple filter-lists on a LandingpadInst don't make sense. Perhaps I'm reading your original spec wrong, perhaps I'm mis-reading Duncan's emails, but I read them to mean that your syntax supports
2009 Sep 25
2
[LLVMdev] MinGW/MSVC++ uses different ABI for sret
Let's go directly to the example struct S { double dummy1; double dummy2; }; S bar(); S foo() { return bar(); } This is the result of g++ -c -S -O2 (focus on the final `ret'): __Z3foov: LFB0: pushl %ebp LCFI0: movl %esp, %ebp LCFI1: pushl %ebx LCFI2: subl $20, %esp LCFI3: movl 8(%ebp), %ebx movl %ebx, (%esp) call __Z3barv pushl %eax movl %ebx, %eax movl -4(%ebp), %ebx leave ret $4 This is the result of cl -O2 -c -Fa (again, focus on the final `ret') PUBLIC ?foo...
2010 Dec 02
3
[LLVMdev] Alternative exception handling proposal
Hi Bill, > This is similar to my first proposal. yup, I still consider your first proposal to have been basically sound. But it also suffers from a major problem, > which stopped that proposal dead in its tracks. Namely, you have information in > one place which needs to be shared in two different, but possibly disjoint, > places: the type, filters, and personality information. In
2010 Dec 03
1
[LLVMdev] Alternative exception handling proposal
...thing essential or you are. To clear this up, I suggest you send me evil examples and I will show you how my scheme handles them (or doesn't handle them, if I am indeed failing to see something). > This is the code that G++ generates from the example in my proposal: ... > If the call to __Z3foov throws, we need to set up the tables to that it knows > that it needs to call the __ZN1BD1Ev and __ZN1AD1Ev cleanups. This information > requires looking at the invoke instruction – i.e., "where should I land?". It > also needs to know which types it can catch in order to get the...