Depends on D131863.
I have no knowledge of AMDGPU and don't know how to construct some branches that can share or can't share a same restore block, so please kindly let me know how to construct the test properly.
This is the first added function. I copied @spill() in this file and simply added another branch after the previous one. The two restore blocks .LBB2_5 and .LBB2_7 are identical.
This is the second added function. I copied @spill_func() in this file and simply added another branch after the previous one. It seems the two branches don't share a same destination.
and I don't know why this sequence is forming. Is this intended?
Why do you need to increase this? This just forces you to make the test functions bigger? If it's just for the new test, I'd rather split that into a separate file
Do you mean the copies to shift down by one? I'd guess this is somehow related to the asm sequence trying to use a bunch of reserved registers as if they were all allocatable, and with such high register usage you hit some poor allocation decision