On Sun, 19 Nov 2023, Jeff Law wrote:

> So this is a more gradual lowering of the FP branches to allow ifcvt to do a
> better job.  Seems generally reasonable.  I don't expect that we're missing
> any significant simplifications, though I probably could construct a missed
> CSE/GCSE if I worked at it for a bit.

 I've been thinking about it a little before submitting this patch in its 
final form.  I considered activating the splitter in split1 rather than 
split2, but figured out it would likely make little if any difference.  
We could add another, yet earlier split pass I suppose, somewhere between 
ce1 and cse2.  I'm not sure it would be worth it though.

> Presumably the length computation can't be handled by the generic code we've
> already got in place?

 I disregarded such an option right away at the time of writing this code. 
I'm sure this code could be folded, but not in a straightforward way.  
Notice the different, misaligned branch spans, owing to the machine branch 
instruction being the second in the ultimate instruction pair produced.  
So getting rid of this extra code may not be worth the complication in the 
common "length" attribute value calculation unless, perhaps, we factor the 
branch case out to a C++ function.

  Maciej

Reply via email to