We have been investigating a bug in an iOS app where a function is failing to catch an exception, leading to a crash. The related functions had their prologs outlined using -homogeneous-prolog-epilog, and disabling that optimization fixed the crash. We also found that reverting 6e54fcc (https://reviews.llvm.org/D153098) also fixed crash when the optimization is enabled.
Since I don't know a lot about CFI instructions, I don't have a small reproducer, but I am happy to provide IR for a few functions if that helps.
@igorkudrin @MaskRay @smeenai Do any of you have some idea of what's going on? Can this diff be safely reverted? Or can we fix somehow?