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>.)
>...
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