similar to: [LLVMdev] How to handle divide-by-zero exception?

Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] How to handle divide-by-zero exception?"

2008 May 09
0
[LLVMdev] How to handle divide-by-zero exception?
Talin wrote: > Currently it states in the language manual that the results of division > by zero are undefined. However, I'm curious as to how you would normally > handle either divide by zero or other "hardware" exceptions (null > pointer dereference and so on) and turn them into LLVM exceptions. Ultimately, what we'd like to do is attach a bit to each
2008 May 09
4
[LLVMdev] How to handle divide-by-zero exception?
On May 8, 2008, at 9:35 PM, Nick Lewycky wrote: > Talin wrote: >> Currently it states in the language manual that the results of >> division >> by zero are undefined. However, I'm curious as to how you would >> normally >> handle either divide by zero or other "hardware" exceptions (null >> pointer dereference and so on) and turn them into
2008 May 10
0
[LLVMdev] How to handle divide-by-zero exception?
Dan Gohman wrote: > On May 8, 2008, at 9:35 PM, Nick Lewycky wrote: > >> Talin wrote: >>> Currently it states in the language manual that the results of >>> division >>> by zero are undefined. However, I'm curious as to how you would >>> normally >>> handle either divide by zero or other "hardware" exceptions (null
2008 May 12
1
[LLVMdev] How to handle divide-by-zero exception?
On May 9, 2008, at 10:04 PM, Nick Lewycky wrote: > Dan Gohman wrote: >> >> Having a dom tree with multiple roots, where blocks may >> not be dominated by the entry block is pretty scary. > > The dom tree code already supports it, because it already happens to > postdominator trees. There are some clients that will need to be > changed, but I think it's pretty
2011 Jun 12
5
[LLVMdev] Is LLVM expressive enough to represent asynchronous exceptions?
Is LLVM expressive enough to represent asynchronous exceptions? --------------------------------------------------------------- Summary: Need new LLVM instructions or extending of all instructions. C++ exceptions are synchronous: the compiler knows when/where they are being raised. Asynchronous exceptions can be raised at any time. For example, an integer divide-by-zero may raise an
2008 Mar 29
2
[LLVMdev] unwinds to in the CFG
Gordon Henriksen wrote: > What blocks would a phi node in %catch require for a case like this? > > define i8 @f(i1 %b) { > > entry: > > b label %try > > try: unwinds to %catch > > b i1 %b, label %then, label %else > > then: unwinds to %catch > > ret void > > else: unwinds to %catch > > ret
2008 Mar 28
8
[LLVMdev] unwinds to in the CFG
I have a new plan for handling 'unwinds to' in the control flow graph and dominance. Just as a quick recap the problem I encountered is how to deal instructions in a block being used as operands in the unwind dest. Such as this: bb1: unwinds to %cleanup call void @foo() ; might throw, might not %x = add i32 %y, %z call void @foo() ; might throw, might not ret void cleanup:
2010 Nov 28
6
[LLVMdev] RFC: Exception Handling Proposal II
On Nov 28, 2010, at 1:57 PM, Bill Wendling wrote: > On Nov 28, 2010, at 2:59 AM, John McCall wrote: > >> On Nov 28, 2010, at 2:20 AM, Bill Wendling wrote: >> >>> On Nov 27, 2010, at 4:57 PM, John McCall wrote: >>> >>>> On Nov 25, 2010, at 3:03 AM, Duncan Sands wrote: >>>>> I'm pointing out that if the invoke instruction
2008 Mar 29
0
[LLVMdev] unwinds to in the CFG
On 2008-03-29, at 00:57, Nick Lewycky wrote: > Gordon Henriksen wrote: > >> What blocks would a phi node in %catch require for a case like this? >> >> define i8 @f(i1 %b) { >> entry: >> b label %try >> try: unwinds to %catch >> b i1 %b, label %then, label %else >> then: unwinds to %catch >> ret void >>
2008 Mar 29
3
[LLVMdev] unwinds to in the CFG
Gordon Henriksen wrote: > On 2008-03-29, at 00:57, Nick Lewycky wrote: > >> Gordon Henriksen wrote: >> >>> What blocks would a phi node in %catch require for a case like this? >>> >>> define i8 @f(i1 %b) { >>> entry: >>> b label %try >>> try: unwinds to %catch >>> b i1 %b, label %then, label %else
2011 Jun 12
6
[LLVMdev] Is LLVM expressive enough to represent asynchronous exceptions?
On Jun 12, 2011, at 1:25 AM, Duncan Sands wrote: > Hi Sohail, > >> Is LLVM expressive enough to represent asynchronous exceptions? > > not currently. The first step in this direction is to get rid of the invoke > instruction and attach exception handling information to basic blocks. See > http://nondot.org/sabre/LLVMNotes/ExceptionHandlingChanges.txt > for a
2010 Dec 01
2
[LLVMdev] RFC: Exception Handling Proposal Revised
On Wed, Dec 1, 2010 at 11:37 AM, Renato Golin <rengolin at systemcall.org> wrote: > On 1 December 2010 09:46, Bill Wendling <wendling at apple.com> wrote: >> Nor these. Basically, I want the basic block that's labeled a "landing pad" 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
2008 Mar 28
0
[LLVMdev] unwinds to in the CFG
Hi Nick, On Mar 28, 2008, at 02:15, Nick Lewycky wrote: > Before I start investing time implementing these changes, does > anyone foresee any problems that I missed? Stepping back from the nuts and bolts for a moment, could you precisely define what constitutes a predecessor in this model? What blocks would a phi node in %catch require for a case like this? define i8 @f(i1 %b) {
2008 May 10
0
[LLVMdev] How to handle divide-by-zero exception?
DISCLAIMER: I am SSA, LLVM and compiler ignorant, so take the following for what it is worth. What about logically breaking a (complex) SEH method into two logical methods, as per this pseudo-code as an example: ----------------------- foo(parameter-list) { leading-statements; try { try-statements; } catch(Execption0 ex0) { catch-0-statements; } . catch(ExceptionN exN) {
2010 Nov 29
0
[LLVMdev] RFC: Exception Handling Proposal II
On Nov 28, 2010, at 3:47 PM, John McCall wrote: > This is well-formed SSA; the alloca instruction %x is in the entry block and thus dominates both the store in %try and the load in %catch. mem2reg wants to eliminate %x and replace the load in %catch with a fixed value. This involves looking at the value stored in %x at all predecessor points, which is a challenge because one of those
2011 Jun 12
0
[LLVMdev] Is LLVM expressive enough to represent asynchronous exceptions?
On 11-06-12 12:01 AM, Sohail Somani wrote: > Is LLVM expressive enough to represent asynchronous exceptions? > --------------------------------------------------------------- > > Summary: Need new LLVM instructions or extending of all instructions. > > C++ exceptions are synchronous: the compiler knows when/where they are > being raised. > > Asynchronous exceptions can
2010 Dec 02
5
[LLVMdev] Alternative exception handling proposal
On Dec 2, 2010, at 1:40 AM, Duncan Sands wrote: > Two amendments: > >> The semantics of the invoke instruction are slightly modified: if an exception >> unwinds and it doesn't match anything in the list of catches and filters, >> and there is no cleanup, then control doesn't branch to the unwind label, >> unwinding simply continues out of the function. >
2010 Nov 28
0
[LLVMdev] RFC: Exception Handling Proposal II
On Nov 28, 2010, at 2:59 AM, John McCall wrote: > On Nov 28, 2010, at 2:20 AM, Bill Wendling wrote: > >> On Nov 27, 2010, at 4:57 PM, John McCall wrote: >> >>> On Nov 25, 2010, at 3:03 AM, Duncan Sands wrote: >>>> I'm pointing out that if the invoke instruction >>>> is removed and catch information is attached to entire basic blocks, then
2010 Nov 28
3
[LLVMdev] RFC: Exception Handling Proposal II
On Nov 28, 2010, at 2:20 AM, Bill Wendling wrote: > On Nov 27, 2010, at 4:57 PM, John McCall wrote: > >> On Nov 25, 2010, at 3:03 AM, Duncan Sands wrote: >>> I'm pointing out that if the invoke instruction >>> is removed and catch information is attached to entire basic blocks, then if no >>> care is taken then it is perfectly possible to use %x before
2010 Dec 01
0
[LLVMdev] RFC: Exception Handling Proposal Revised
On 1 December 2010 11:11, Frits van Bommel <fvbommel at gmail.com> wrote: > Those are destructor calls for the case where none of the foo()s > throw. There are no ctor calls because the classes have trivial > constructors, which are no-ops. Indeed! Thanks! ;) > If there were also catches, they'd probably need to explicitly execute > the finally code (or if they again