In LLVM, some optimizations are disabled for functions that return twice. For instance, register coalescing in those functions is disabled by D77767. Currently, this does not apply to __builtin_setjmp, because the intrinsic function llvm.eh.sjlj.setjmp is not annotated as returns_twice.
In the proposed change, we annotate llvm.eh.sjlj.setjmp as returns_twice. This fixes PR50234.