Displaying 13 results from an estimated 13 matches for "_zst9terminatev".
2008 Jan 18
2
[LLVMdev] Code compaction passes?
I'm inlining a bunch of C++ code, and I'm ending up with a bunch of
basic blocks like this:
filter441.i: ; preds = %unwind432.i
call void @_ZSt9terminatev( )
unreachable
filter453.i: ; preds = %unwind444.i
call void @_ZSt9terminatev( )
unreachable
It seems like I should be safe to merge these, but I can't find a pass
to do so. Going over the open projects page it looks like code
compaction is still an open project. Is it?
I've re...
2012 May 22
4
[LLVMdev] How to get llvm bitcode executed
...tions
available in the llvm bitcode?
Specifically, these missing functions are as below:
declare i8* @llvm.eh.exception() nounwind readonly
declare i32 @__gxx_personality_v0(...)
declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
declare void @llvm.eh.resume(i8*, i32)
declare void @_ZSt9terminatev()
declare i32 @memcmp(i8*, i8*, i64)
declare i64 @llvm.expect.i64(i64, i64) nounwind readnone
declare void @_ZSt19__throw_logic_errorPKc(i8*) noreturn
declare i8* @__cxa_begin_catch(i8*)
declare void @__cxa_rethrow()
declare void @__cxa_end_catch()
declare void @__cxa_call_unexpected(...
2010 Dec 01
0
[LLVMdev] RFC: Exception Handling Proposal Revised
...tion resumes propagation either to the next enclosing region or out of the function.
Hi Bill,
Looking good already! ;)
> ch.int:
shouldn't the catch handlers have "landingpad" attributes?
> ;; C's d'tor
> c.dtor:
and the cleanups?
> yikes:
> call void @_ZSt9terminatev() noreturn nounwind
> unreachable
and yikes?
Can we standardize "yikes" as the official terminate handler name? :D
> Well? What do you think? Pretty cool, eh? :-)
Yup. I think it's much more clear than the current scheme, at least
for C++ Itanium ABI (AFAICS).
Can anyone...
2012 May 22
0
[LLVMdev] How to get llvm bitcode executed
...t;
> Specifically, these missing functions are as below:
>
> declare i8* @llvm.eh.exception() nounwind readonly
> declare i32 @__gxx_personality_v0(...)
> declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
> declare void @llvm.eh.resume(i8*, i32)
> declare void @_ZSt9terminatev()
> declare i32 @memcmp(i8*, i8*, i64)
> declare i64 @llvm.expect.i64(i64, i64) nounwind readnone
> declare void @_ZSt19__throw_logic_errorPKc(i8*) noreturn
> declare i8* @__cxa_begin_catch(i8*)
> declare void @__cxa_rethrow()
> declare void @__cxa_end_catch()
> d...
2010 Jan 13
1
[LLVMdev] invoke/unwind
On 01/13/2010 02:07 AM, Duncan Sands wrote:
> Hi Dustin, the code generators do not support unwind, only the
> interpreter does.
Ah, the secret is not to even try to frob the gnorts. Manual unwinding,
here I come. :-(
I was going to say the interpreter doesn't either, but then I recalled
it JITs when it can. I don't know how to call into libc from the
interpreter to test that.
2012 May 22
2
[LLVMdev] How to get llvm bitcode executed
...really missing.
>
> > declare i32 @__gxx_personality_v0(...)
>
> This should be in libstdc++.
>
> > declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
> > declare void @llvm.eh.resume(i8*, i32)
>
> LLVM intrinsics.
>
> > declare void @_ZSt9terminatev()
>
> This should be in libstdc++.
>
> > declare i32 @memcmp(i8*, i8*, i64)
>
> In libc (libc.so) which should be pulled in by libstdc++.
>
> > declare i64 @llvm.expect.i64(i64, i64) nounwind readnone
>
> LLVM intrinsic.
>
> > declare void...
2014 May 11
2
[LLVMdev] [cfe-dev] Code generation for noexcept functions
...gt; .weak __clang_call_terminate
> .align 16, 0x90
> .type __clang_call_terminate, at function
> __clang_call_terminate: # @__clang_call_terminate
> # BB#0:
> pushq %rax
> callq __cxa_begin_catch
> callq _ZSt9terminatev
> .Ltmp9:
> .size __clang_call_terminate, .Ltmp9-__clang_call_terminate
>
> - Stephan
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
-------------- next part...
2012 May 22
0
[LLVMdev] How to get llvm bitcode executed
...wind readonly
This is an LLVM intrinsic, so isn't really missing.
> declare i32 @__gxx_personality_v0(...)
This should be in libstdc++.
> declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
> declare void @llvm.eh.resume(i8*, i32)
LLVM intrinsics.
> declare void @_ZSt9terminatev()
This should be in libstdc++.
> declare i32 @memcmp(i8*, i8*, i64)
In libc (libc.so) which should be pulled in by libstdc++.
> declare i64 @llvm.expect.i64(i64, i64) nounwind readnone
LLVM intrinsic.
> declare void @_ZSt19__throw_logic_errorPKc(i8*) noreturn
> declare...
2012 May 23
0
[LLVMdev] How to get llvm bitcode executed
...declare i32 @__gxx_personality_v0(...)
>>
>> This should be in libstdc++.
>>
>>> declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
>>> declare void @llvm.eh.resume(i8*, i32)
>>
>> LLVM intrinsics.
>>
>>> declare void @_ZSt9terminatev()
>>
>> This should be in libstdc++.
>>
>>> declare i32 @memcmp(i8*, i8*, i64)
>>
>> In libc (libc.so) which should be pulled in by libstdc++.
>>
>>> declare i64 @llvm.expect.i64(i64, i64) nounwind readnone
>>
>> LLVM intrins...
2010 Dec 01
10
[LLVMdev] RFC: Exception Handling Proposal Revised
...l %onto.catch.handlers unwind label %lpad.a.dtor
onto.catch.handlers:
dispatch resume to %lpad
;; Desperate times...
lpad.c.dtor: landingpad
dispatch resume to %yikes
lpad.b.dtor: landingpad
dispatch resume to %yikes
lpad.a.dtor: landingpad
dispatch resume to %yikes
yikes:
call void @_ZSt9terminatev() noreturn nounwind
unreachable
}
Because of the invariant that a landing pad must dominate a dispatch and because a landing pad may be branched to only by an invoke and dispatch instructions, the CFG now has enough information in it to collect the information needed to create the exception hand...
2010 Dec 01
8
[LLVMdev] Alternative exception handling proposal
...@__cxa_end_catch()
ret void
return: ; preds = %"8"
ret void
fail: ; preds = %"10"
%exc_ptr39 = call i8* @llvm.eh.exception()
%filter40 = call i32 @llvm.eh.selector()
call void @_ZSt9terminatev() noreturn nounwind
unreachable
fail41: ; preds = %"11"
%exc_ptr42 = call i8* @llvm.eh.exception()
%filter43 = call i32 @llvm.eh.selector()
call void @_ZSt9terminatev() noreturn nounwind
unreachable
fail44:...
2009 Apr 28
3
[LLVMdev] how to resolve llvm exception IR?
...%eh_ptr15 = tail call i8* @llvm.eh.exception()
; <i8*> [#uses=1]
81 %eh_select17 = tail call i32 (i8*, i8*, ...)*
@llvm.eh.selector.i32(i8* %eh_ptr15, i8* bitcast (i32 (...)*
@__gxx_personality_v0 to i8*)) ; <i32> [#uses=0]
82 tail call void @_ZSt9terminatev() noreturn nounwind
83 unreachable
84
85 Unwind: ; preds = %lpad10, %lpad
86 %eh_exception.0 = phi i8* [ %eh_ptr, %lpad ], [
%eh_ptr11, %lpad10 ] ; <i8*> [#uses=1]
87 tail call void @_Unwind_Resume(i8* %eh_exception.0)
88...
2010 Dec 01
4
[LLVMdev] RFC: Exception Handling Proposal Revised
...uot; to be jumped to by only a dispatch resume or unwind edge of invoke. We could do this with the c.dtor and ch.int here, but it would mean inserting useless "cleanup dispatches" that only resume to the block (see onto.catch.handlers for an example).
>> yikes:
>> call void @_ZSt9terminatev() noreturn nounwind
>> unreachable
>
> and yikes?
>
> Can we standardize "yikes" as the official terminate handler name? :D
>
I wish! :-D
>> Well? What do you think? Pretty cool, eh? :-)
>
> Yup. I think it's much more clear than the current sche...