On 9/11/2021 12:01 PM, Aldy Hernandez wrote:

So another thing to consider is that the threaders initially record their paths in different directions. Forward threading records starting at the first block, backward from the final block.  At some point (I no longer remember where) we invert the backwards threader's path to fit the model that the registry wanted and I think we then convert the path into the structure that the generic copier wants at some later point.

Yeah, that's in back_threader_registry::register_path, and then we go back and massage things again in back_jt_path_registry::update_cfg().


In theory with the two better separated we might not need to do the conversions of the backwards threader's paths anymore.

Good point.  I'll think about it, as we need some coherent way of keeping track of paths that can we can share, as I'm about to add yet another one in the jt_state business in tree-ssa-threadege.h.

ps.  Don't forget about gcc.dg/torture/pr55107 regression I sent you yesterday.  It's showing up on a wide range of targets.

Yeah, thanks for mentioning it.  I'm putting it aside until Monday when I'm actually getting paid to chase tricky bugs :).
Fair enough :-)  Works for me.  I've got a way to disable the test trivially until we sort out whether or not it's valid and/or useful.

jeff

Reply via email to