<div>FYI,</div><div><br></div><div>I've looked again at this patch recently, and talked to several others about it...</div><div><br></div><div>I think there are some big issues with the implementation, bit I think they could probably be addressed. The one that I see the most is the x86 assembly just being dumped as a blob. I think that really needs to be resolved before this can move forward.</div>
<div><br></div><div>It seems like this should be do-able in some way with the llvm.trap intrinsic. If anything, we might need another intrinsic or an extension of llvm.trap that allows feeding the SIGILL signal handler the data arguments it needs; I'd need to read up on exactly what is required for that to figure out how best to represent that in IR, but it shouldn't be that hard.</div>
<div><br></div><div>That said, maybe to improve the discussion of the patch and make reviewing it easier, you could just switch to emitting the call to the runtime library function in all cases? That should be a strictly simpler patch, and then how to improve performance by avoiding the runtime call can be a followup.</div>
<div><br></div><div>Maybe others could comment on other implementation issues? I'm sadly not an expert at LLVM...</div>