Displaying 3 results from an estimated 3 matches for "cont0".
Did you mean:
cont
2011 Jun 12
5
[LLVMdev] Is LLVM expressive enough to represent asynchronous exceptions?
...;
call
llvm.aeh.continue(%result,blockaddress(@whatever,%aeh.try.except.handler0))
unreachable
aeh.try.except.body0: ; no predecessor
call printf "handler\n"
br label aeh.try.exit0
aeh.try.exit0:
;; -----> this would be the no-op <-----
llvm.aeh.exit
br label aeh.try.cont0
aeh.try.cont0:
<whatever>
}
I like this one because it is explicit.
All options here would require a little bit extra futzing to integrate
with C++ exceptions.
So my question to you is: given that there is interest in proper
Windows support, and that asynchronous exceptions are generally...
2011 Jun 12
0
[LLVMdev] Is LLVM expressive enough to represent asynchronous exceptions?
...s(@whatever,%aeh.try.except.handler0))
> unreachable
> aeh.try.except.body0: ; no predecessor
> call printf "handler\n"
> br label aeh.try.exit0
> aeh.try.exit0:
> ;; -----> this would be the no-op<-----
> llvm.aeh.exit
> br label aeh.try.cont0
> aeh.try.cont0:
> <whatever>
> }
>
> I like this one because it is explicit.
>
> All options here would require a little bit extra futzing to integrate
> with C++ exceptions.
>
> So my question to you is: given that there is interest in proper
> Windows su...
2020 Jan 26
2
[RFC] Replacing inalloca with llvm.call.setup and preallocated
...eptional cleanup
onto
the cleanup stack. Here is what the IR for the previous example would look
like, assuming each argument has a constructor that may throw:
```llvm
%cs = call token @llvm.call.setup(i32 3)
%m0 = call i8* @llvm.call.alloc(token %cs, i32 0)
invoke void @ctor0(i8* %m0)
to label %cont0 unwind label %cleanupCall
cont0:
%m1 = call i8* @llvm.call.alloc(token %cs, i32 1)
invoke void @ctor1(i8* %m1)
to label %cont1 unwind label %cleanup0
cont1:
%m2 = call i8* @llvm.call.alloc(token %cs, i32 2)
invoke void @ctor2(i8* %m2)
to label %cont2 unwind label %cleanup1
cont2:
call void...