On 8/12/2026 7:07 AM, Kyrylo Tkachov wrote:
I like the idea, and it makes sense.
One thing I’ve been hitting with my if-conversion work recently is that 
if-conversion increasing the dependency chain length is what’s hurting wide 
cores. Adding more instructions that can go parallel is not a problem otherwise.
Right.  It's a problem we've largely ignored, but as has been shown, it's ripe for getting fixed.


Estimate the dependency level of simple, single-cycle register operations
and cost each level using the target issue rate.  Keep the existing serial
cost for size optimization and for sequences that need resource or alias
analysis.

I notice that mips has a pretty elaborate mips_seq_time mechanism. I wouldn’t 
advocate using it, just found it interesting when looking around.
Never saw all that before.   It's actually calling back into the scheduler which is a huge surprise, I didn't expect that the scheduler would support that.  It's not called often (looks like only during target initialization and some of the bits are re-used for the vr4130 code to align code for parallel execution.  I'd worry it's probably too heavy-weight for where we need to call it.

jeff


Reply via email to