Displaying 2 results from an estimated 2 matches for "eh_code".
2014 Nov 10
2
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
...{
entry:
%d.addr = alloca i32, align 4
%n.addr = alloca i32, align 4
%r = alloca i32, align 4
store i32 %d, i32* %d.addr, align 4
store i32 %n, i32* %n.addr, align 4
invoke void @try_body(i32* %r, i32* %n.addr, i32* %d.addr)
to label %__try.cont unwind label %lpad
filter:
%eh_code = call i32 @llvm.eh.seh.exception_code() ; or similar
%cmp = icmp eq i32 %eh_code, 0xC0000094
%r = zext i1 %cmp to i32
call void @llvm.eh.seh.filter(i32 %r)
lpad:
%0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)*
@__C_specific_handler to i8*)
catch label %filter...
2014 Nov 13
2
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
...{
entry:
%d.addr = alloca i32, align 4
%n.addr = alloca i32, align 4
%r = alloca i32, align 4
store i32 %d, i32* %d.addr, align 4
store i32 %n, i32* %n.addr, align 4
invoke void @try_body(i32* %r, i32* %n.addr, i32* %d.addr)
to label %__try.cont unwind label %lpad
filter:
%eh_code = call i32 @llvm.eh.seh.exception_code() ; or similar
%cmp = icmp eq i32 %eh_code, 0xC0000094
%r = zext i1 %cmp to i32
call void @llvm.eh.seh.filter(i32 %r)
lpad:
%0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__C_specific_handler to i8*)
catch label %filter...