[llvm] [RISCV] Enable bidirectional postra scheduling (PR #115864)
Min-Yih Hsu via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 15 13:42:20 PST 2024
mshockwave wrote:
> I got some results on different platforms.
>
> 1. Coremark with 60000 iterations on GEM5: `-O3 -march=rv64gc` (use this configuration so there are more instructions to schedule and GEM5 has a better support)
>
> * RiscvO3CPU
>
> Baseline TopDown BottomUp Bidirectional
> Cycles 33140248616 33031782179 33173323700 33063777692
> IPC 1.381871 1.386409 1.380822 1.383095
> * RiscvAtomicSimpleCPU
>
> Baseline TopDown BottomUp Bidirectional
> Cycles 30563561357 30935303916 30898754397 30563777692
> IPC 0.879774 0.869409 0.870437 0.879768
> 2. Coremark on Spacemit-X60 (`-O3 -mcpu=spacemit-x60`):
>
> Baseline TopDown BottomUp Bidirectional
> Iterations/Sec 4763.71 4993.34 4730.50 4853.86
> The results differ on different platforms so it is really hard to determine a default value. I will make it a target feature and leave the default value to be `Bidirectional` (this can be debated).
I have no objection making it into a tuning feature.
https://github.com/llvm/llvm-project/pull/115864
More information about the llvm-commits
mailing list