Ruby is currently crashing on ARM because SelectionDAG turns llvm.eh.sjlj.longjmp and llvm.eh.sjlj.setjmp into nonsense, if the target has no lowering for them. Handle this properly in the frontend by not using the IR intrinsics unless the platform is known to have a working implementation. As documented with the FIXME, the Darwin lowering does not qualify either, it is written strictly for use by EH.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
So the builtins get codegen'ed to the library functions if the backend doesn't support the intrinsics? Seems reasonable.