search for: convok

Displaying 7 results from an estimated 7 matches for "convok".

Did you mean: convoke
2009 Nov 23
3
[LLVMdev] RFC: New Exception Handling Proposal
On Nov 20, 2009, at 2:15 AM, Jay Foad wrote: >> Please read and let me know your opinions! > > This definitely seems like an improvement on the current situation. > >> .---------. >> | convoke | >> `---------' >> | >> v >> .-----------------------. >> | | >> v | >> %normal .----------------+---------------. >> |...
2009 Nov 24
0
[LLVMdev] RFC: New Exception Handling Proposal
...ot;adjusted" pointer to the exception object, but you still have to pass into it a "raw" (unadjusted) pointer to the exception object. It's this raw pointer that appears magically in a native register at the start of a landing pad. > Well, be warned that there can be multiple convokes which jump to the same > landing pads. So there cannot be a one-to-one correspondence between them. > However, an llvm.eh.exception should be dominated by at least one convoke. > The only other problem I can see is if code branches into a catch block. > It's gross, but could happe...
2009 Nov 20
0
[LLVMdev] RFC: New Exception Handling Proposal
> Please read and let me know your opinions! This definitely seems like an improvement on the current situation. >            .---------. >            | convoke | >            `---------' >                 | >                 v >     .-----------------------. >     |                       | >     v                       | >  %normal   .----------------+---------------. >            |                |      ...      | >      ...
2009 Nov 24
3
[LLVMdev] RFC: New Exception Handling Proposal
Hi Jay, > Are you saying that, in the LLVM IR, it would be legal to have an > llvm.eh.exception that *isn't* dominated by convokes (because there's > a direct branch to that catch block), and in that case the call > returns an undefined value? this is already the case (with invoke substituted for convoke). And it would be up to codegen to "peel it > out into its own basic block"? Not sure what that...
2009 Nov 18
11
[LLVMdev] RFC: New Exception Handling Proposal
...} or similar. This could allow optimizations based on knowing that a function cannot throw a particular type. However, it's not a particularly attractive solution. llvm.eh.personality: The next intrinsic is for the "personality function". The reason to separate this from the `convoke' instruction is because we want to prevent inlining of a function with a different personality function. void llvm.eh.personality(i8*) This also lives in the entry block for ease of finding. As with the filters, it may be beneficial to add this to the function's definition....
2009 Nov 24
0
[LLVMdev] RFC: New Exception Handling Proposal
...n IsSubclass test. The action code returned by the personality function is a simple integer index (0, 1, 2, ...etc) which represents the number of the catch block to transfer control to. This index is then fed into a IR switch instruction in the landing pad. The concern I have is that the 'convoke' instuction takes a list of catch types, but it doesn't say what those catch types are. If the code does not assume anything about them, then I'm guessing that I would be able to adapt my code to work with it. On the other hand, if those catch types are assumed to be C++ exception...
2009 Nov 24
0
[LLVMdev] RFC: New Exception Handling Proposal
>> Are you saying that, in the LLVM IR, it would be legal to have an >> llvm.eh.exception that *isn't* dominated by convokes (because there's >> a direct branch to that catch block), and in that case the call >> returns an undefined value? > > this is already the case (with invoke substituted for convoke). Good to know. It would be nice if this was clearly documented! >> And it would be up...