On 06/08/2016 05:16 PM, Segher Boessenkool wrote:
On the plus side I should have caught most of it now. And the failures are rarely silent, they show up during compilation already.
That does count as a plus. Aborts in dwarf2cfi, I assume.
Most of the problems are code changes the later passes want to do that are valid an sich but that dwarf2cfi does not like, like not restoring a callee-saved register before a noreturn call. Those later patches already know not to touch epilogue instructions, but only for the single epilogue, not for instructions scattered throughout the whole function.
Yeah, that's a problem though - having to disable otherwise valid transformations is always a source of errors.
Is there a strong reason to keep thread_p_e_insns at its current position in the compilation process, or could it be moved later to expose this problem to fewer passes?
There is no standard naming for this as far as I know. I'll gladly use a better name anyone comes up with.
Maybe just subpart? Bernd