Hi Richard, > Why do we need to emit .eh_frame CFI for register state that is not > preserved by the base PCS, and thus not preserved across exception > edges? When would the extra register state be required?
During debugging for example - without correct unwind info you cannot display locals that were callee-saved by a vector math function. We could add such a feature, however I don't believe it would reduce the unwind info all that much since vector functions are not that common. There was a discussion about designing a more compact non-asynchronous unwind format which would give far larger gains [1]. However you would still need to emit asynchronous Dwarf unwind info for debugging in addition to SFrame for those who want fast backtraces with kernel support... [1] https://discourse.llvm.org/t/rfc-improving-compact-x86-64-compact-unwind-descriptors/47471 Cheers, Wilco
