[llvm] [RISCV][PoC] Schedule RVV instructions with same type first (PR #95924)

Michael Maitland via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 18 06:52:34 PDT 2024


https://github.com/michaelmaitland commented:

This is a pretty neat idea. 

There are a few things we want like to balance:
1. Reduce instruction count due to number of vtype toggles
2. Avoid the number of stalls due to latency (dependent result not ready)
3. Avoid the number of stalls due to resource consumption (resources not available)

I am curious how we will be able to balance the three of these. In the current state of this patch, we are prioritizing (1) and falling back to `GenericScheduler::pickNode(IsTopNode)` to handle (2) and (3) only in the cases when we don't have the ability to do (1). It is unclear to me whether (1) should be so important that we ignore (2) and (3).

It would be nice to have some data on how the current proposed approach impacts performance of benchmarks. I'd also be curious to explore balancing heuristic (1) with (2) and (3) to see how that impacts performance.

https://github.com/llvm/llvm-project/pull/95924


More information about the llvm-commits mailing list