On 7/1/2026 9:43 AM, Kyrylo Tkachov wrote:
What I would suggest would be to look at the code we generate for the
split-paths tests before/after removal and make sure we're not missing
something. The tests, more likely than not, test that split-paths triggered
rather than looking at the final assembly codes.
So out of all split-path tests only one shows a difference with -fsplit-paths
vs -fno-split-paths: split-paths-6.c where -fno-split-paths gives +3 aarch64
instructions, but this is a downstream artifact.
In the source:
void givehelp (int interactive)
{
if (interactive)
while ((--((_impure_ptr->_stdin))->_r < 0
? __srget_r (_impure_ptr, _impure_ptr->_stdin)
: (int) (*((_impure_ptr->_stdin))->_p++)) != ' ‘);
}
-fsplit-paths triggers once but the duplication is later remerged but the edge
probabilities end up different and then loop rotation ends up making different
layout decisions.
So I don’t think it’s a very deliberate effect.
Yea, that's sounds more like a random downstream effect than something
intentional. I don't really recall split-path-6, though a reasonable
assumption would be that I was playing around with the original patch
and included some tests I found when experimenting with the patch's
behavior.
Jeff