[LLVMdev] RFC: Replace __cxa_begin_catch/__cxa_end_catch with intrinsics (original) (raw)

John McCall rjmccall at apple.com
Mon Feb 2 19:23:40 PST 2015


On Feb 2, 2015, at 5:39 PM, Kaylor, Andrew <andrew.kaylor at intel.com> wrote: Hi John,

Thanks for the feedback. I'm fine not using the proposed intrinsics everywhere. It just seemed to me like a reasonable step since the back end is already taking a fair bit of action based on the personality function. Also, if I do introduce the intrinsics for one target/personality function it seems like it may be a source of confusion when other targets don't use them. I suppose that is easily enough solved with proper documentation though. Perhaps I can even drop a "win" in the name somewhere.

Well, don’t make them deliberately unportable. :) The g++ personality doesn’t use subfunction extraction, but at some point I’d like to switch to a personality which does, mostly in the interests of code size. I would just encourage you to design these intrinsics specifically around the problems of personality-directed subfunction extraction, and understand that you’re going to end up hardcoding a lot of Windows-specific behavior whether you mean to or not. We can figure out how to make them more general when we have multiple personalities that need subfunction extraction.

_To be clear, are you OK with introducing these intrinsics for WinEH+CxxFrameHandler3 personality function use?

Yes.

John.



More information about the llvm-dev mailing list