diff options
author | Michal Terepeta <michalt@google.com> | 2024-04-16 07:55:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-16 13:55:45 +0800 |
commit | 6da1966bc503e1ce44ef36e7107c9db482fac6ab (patch) | |
tree | f6a45025469f41bceb0f77a08a404fc44aae193b /llvm/lib/Transforms/Utils/Local.cpp | |
parent | 17d6bf046cea381413895f91e24d26d65763b59a (diff) | |
download | llvm-6da1966bc503e1ce44ef36e7107c9db482fac6ab.zip llvm-6da1966bc503e1ce44ef36e7107c9db482fac6ab.tar.gz llvm-6da1966bc503e1ce44ef36e7107c9db482fac6ab.tar.bz2 |
[RISCV] Add scheduling information for SiFive VCIX (#86093)
This adds `RISCVScheduleXSf.td` with `SchedWrite` definitions for all
VCIX instructions and uses it in `RISCVSchedSiFive7.td` to set default
latencies for these instructions, helping with issue
https://github.com/llvm/llvm-project/issues/83391. Of course these
default latencies cannot be accurate (since each coprocessor will have
different latencies), but this seems to be enough to avoid some of the
problematic behavior described in the bug.
In any case, this seems to be enough to help with #83391 in our internal
testing.
A subsequent discussion is how to structure the code such that it's
easier for downstream consumers of this to use `SiFive7` scheduling
model with accurate VCIX latencies. But we can probably have a separate
issue to discuss that.
Diffstat (limited to 'llvm/lib/Transforms/Utils/Local.cpp')
0 files changed, 0 insertions, 0 deletions