[LLVMdev] Intrinsics and it's documentation.

Chris Lattner sabre at nondot.org
Mon Jul 7 22:07:17 PDT 2008


On Jul 7, 2008, at 8:31 PM, Eli Friedman wrote:

>> llvm.longjmp
>> llvm.setjmp
>> llvm.siglongjmp
>> llvm.sigsetjmp
>
> These are used by the LowerSetJmp pass; however, llvm-gcc doesn't use
> that pass, and the code itself hasn't been touched for years.  Anyone
> know if LowerSetJmp still works/whether there are any known bugs/why
> llvm-gcc isn't using this pass?

llvm-gcc3 used this pass.  It produced code that isn't abi complaint  
with other compilers and had a few other problems.  We should probably  
rip it out.  The CFG needs to be extended to properly model setjmp/ 
longjmp at some point.  Right now we depend on variables being marked  
volatile in the presence of longjmp, which is a pretty horrible (but  
effective) hack.

-Chris



More information about the llvm-dev mailing list