search for: callsfunctionthatreturnstwice

Displaying 6 results from an estimated 6 matches for "callsfunctionthatreturnstwice".

2011 Oct 05
0
[LLVMdev] setjmp - longjmp
...gt; call setjmp, and hope we get lucky. In practice, that's generally > > good enough, given the restrictions on functions that call setjmp, but > > there are probably some subtle bugs nobody has discovered yet. > > We already disable stack slot sharing in functions that > callsFunctionThatReturnsTwice(): > > // If there are calls to setjmp or sigsetjmp, don't perform stack slot > // coloring. The stack could be modified before the longjmp is executed, > // resulting in the wrong value being used afterwards. (See > // <rdar://problem/8007500>.) > if (MF.callsSetJm...
2011 Oct 04
2
[LLVMdev] setjmp - longjmp
...g into functions which > call setjmp, and hope we get lucky. In practice, that's generally > good enough, given the restrictions on functions that call setjmp, but > there are probably some subtle bugs nobody has discovered yet. We already disable stack slot sharing in functions that callsFunctionThatReturnsTwice(): // If there are calls to setjmp or sigsetjmp, don't perform stack slot // coloring. The stack could be modified before the longjmp is executed, // resulting in the wrong value being used afterwards. (See // <rdar://problem/8007500>.) if (MF.callsSetJmp()) return false;...
2011 Oct 05
1
[LLVMdev] setjmp - longjmp
...hope we get lucky. In practice, that's generally >> > good enough, given the restrictions on functions that call setjmp, but >> > there are probably some subtle bugs nobody has discovered yet. >> >> We already disable stack slot sharing in functions that >> callsFunctionThatReturnsTwice(): >> >> // If there are calls to setjmp or sigsetjmp, don't perform stack slot >> // coloring. The stack could be modified before the longjmp is executed, >> // resulting in the wrong value being used afterwards. (See >> // <rdar://problem/8007500>.) &gt...
2011 Oct 04
0
[LLVMdev] setjmp - longjmp
On Tue, Oct 4, 2011 at 3:10 PM, Khaled ElWazeer <khalid.alwazeer at gmail.com> wrote: > Hi, > > I have some code which has sigsetjmp / longjmp. After a longjmp, unreachable > is inserted, which is fine. The problem is that in the backend before > calling longjmp, some register was spilled to a stack location which is live > across the jmp. I mean, it will be live after
2011 Oct 05
0
[LLVMdev] setjmp - longjmp
On Oct 4, 2011, at 8:23 PM, Khaled ElWazeer wrote: > Actually my problem is solved when I added "__sigsetjmp" to this list. Rafael just added a returns_twice function attribute to LLVM IR. I expect he will update the callsFunctionThatReturnsTwice() function soon. /jakob
2011 Oct 04
3
[LLVMdev] setjmp - longjmp
Hi, I have some code which has sigsetjmp / longjmp. After a longjmp, unreachable is inserted, which is fine. The problem is that in the backend before calling longjmp, some register was spilled to a stack location which is live across the jmp. I mean, it will be live after jumping. The stack location was initialized before the call to setjmp, and is used afterwards. Is there any bug in handling