search for: eh_sjlj_setjmp

Displaying 9 results from an estimated 9 matches for "eh_sjlj_setjmp".

2009 Jun 15
1
[LLVMdev] eh_sjlj_setjmp/ongjmp ?
Hi, I have checkout llvm from the svn, eh_sjlj_setjmp/longjmp intrinsics had beed added ! but it seems llvm-gcc does't generate the eh_sjlj_setjmp/longjmp intrinsics now ? best regards zhangzw
2016 Apr 27
2
[Sparc] builtin setjmp / longjmp - need help to get past last problem
...============== *** SparcISelLowering.cpp (revision 267677) --- SparcISelLowering.cpp (working copy) *************** *** 1586,1591 **** --- 1586,1594 ---- setOperationAction(ISD::SELECT_CC, MVT::f64, Custom); setOperationAction(ISD::SELECT_CC, MVT::f128, Custom); + setOperationAction(ISD::EH_SJLJ_SETJMP, MVT::i32, Custom); + setOperationAction(ISD::EH_SJLJ_LONGJMP, MVT::Other, Custom); + if (Subtarget->is64Bit()) { setOperationAction(ISD::ADDC, MVT::i64, Custom); setOperationAction(ISD::ADDE, MVT::i64, Custom); *************** *** 1808,1835 **** const char *SparcTargetLower...
2011 Apr 27
2
[LLVMdev] built-in longjmp and setjmp
I declared gi2 as "volatile" and I think gi2 is still incremented once. Here is a snippet of the code. Line 39 - 42 increments gi2. According to the standard, shouldn't ++gi2 be executed twice regardless of whether gi2 is volatile or not? Isn't the missing chain from EH_SJLJ_SETJMP node to load/store nodes that access gi2 causing this problem (please see attached file in my previous email)? # line 39 - 47 ldr r1, LCPI1_1 ldr r2, [r1] add r2, r2, #1 str r2, [r1] add r4, pc, #8 @ eh_setjmp begin str r4, [r0, #4] mov r0, #0 add pc, pc, #0 mov r0, #1...
2011 Apr 27
3
[LLVMdev] built-in longjmp and setjmp
...latile" and I think gi2 is still incremented once. > > Here is a snippet of the code. Line 39 - 42 increments gi2. > > > > According to the standard, shouldn't ++gi2 be executed twice regardless > of whether gi2 is volatile or not? Isn't the missing chain from > EH_SJLJ_SETJMP node to load/store nodes that access gi2 causing this problem > (please see attached file in my previous email)? > > > > # line 39 - 47 > > ldr r1, LCPI1_1 > > ldr r2, [r1] > > add r2, r2, #1 > > str r2, [r1] > > add r4, pc, #8 @ eh_set...
2011 Apr 27
0
[LLVMdev] built-in longjmp and setjmp
...eclared gi2 as "volatile" and I think gi2 is still incremented once. > Here is a snippet of the code. Line 39 - 42 increments gi2. > > According to the standard, shouldn't ++gi2 be executed twice regardless of whether gi2 is volatile or not? Isn't the missing chain from EH_SJLJ_SETJMP node to load/store nodes that access gi2 causing this problem (please see attached file in my previous email)? > > # line 39 - 47 > ldr r1, LCPI1_1 > ldr r2, [r1] > add r2, r2, #1 > str r2, [r1] > add r4, pc, #8 @ eh_setjmp begin > str r4, [r0, #4] >...
2011 Apr 27
0
[LLVMdev] built-in longjmp and setjmp
...s "volatile" and I think gi2 is still incremented once. > > Here is a snippet of the code. Line 39 - 42 increments gi2. > > > > According to the standard, shouldn't ++gi2 be executed twice regardless of whether gi2 is volatile or not? Isn't the missing chain from EH_SJLJ_SETJMP node to load/store nodes that access gi2 causing this problem (please see attached file in my previous email)? > > > > # line 39 - 47 > > ldr r1, LCPI1_1 > > ldr r2, [r1] > > add r2, r2, #1 > > str r2, [r1] > > add r4, pc, #8 @ eh_setjmp b...
2011 Apr 27
1
[LLVMdev] built-in longjmp and setjmp
...d I think gi2 is still incremented once. > > > Here is a snippet of the code. Line 39 - 42 increments gi2. > > > > > > According to the standard, shouldn't ++gi2 be executed twice regardless > of whether gi2 is volatile or not? Isn't the missing chain from > EH_SJLJ_SETJMP node to load/store nodes that access gi2 causing this problem > (please see attached file in my previous email)? > > > > > > # line 39 - 47 > > > ldr r1, LCPI1_1 > > > ldr r2, [r1] > > > add r2, r2, #1 > > > str r2, [r1] > > > a...
2011 Apr 27
0
[LLVMdev] built-in longjmp and setjmp
I have another basic question about setjmp/longjmp. When I compile and run the following program, is it expected that global variable gi2 will be incremented twice? It seems that the code generated with clang and llc increments it only once (line 37-43 of attached file). $ clang setjmp6.c -o setjmp6.arm.ll -emit-llvm -O3 -S -ccc-host-triple arm-unknown-darwin -ccc-clang-archs arm $ llc
2011 Apr 13
3
[LLVMdev] built-in longjmp and setjmp
On Apr 13, 2011, at 9:51 AM, Akira Hatanaka wrote: > int > main (int argc, char** argv) > { > int n = atoi(argv[1]), r; > > if ((r = setjmp (buf))) > { > printf("n = %d\n", n); > return 0; > } Non-volatile local variables are not preserved by setjmp(), so this program can print whatever it wants. /jakob