[llvm-dev] [Sparc] builtin setjmp / longjmp - need help to get past last problem

Chris Dewhurst via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 27 04:20:45 PDT 2016

Chris.Dewhurst via llvm-dev <llvm-dev <at> lists.llvm.org> writes:

> However, when compiling for Sparc, I get a "Not supported instr" for 
the instruction EH_SjLj_Setup. Of course, it doesn't exist in reality, 
but neither does it for PowerPC, so I can't understand why there's a 
difference between how it's handled for the
>  two targets.

(Having found the answer to my own question, in case it helps others at 
any time)

The difference is that the PowerPC version specifies "isCodeGenOnly = 1" 
for *all* it's Pseudo instructions. For the Sparc version, you need to 
specify this just for EH_SjLj_Setup instruction to avoid it being 
optimised-away by the tablegen compiler.


More information about the llvm-dev mailing list