diff options
author | Min-Yih Hsu <min.hsu@sifive.com> | 2025-06-23 09:47:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-23 09:47:50 -0700 |
commit | 7a33569510535f0b917a2e50f644bf57490aee24 (patch) | |
tree | f426135fd7c75506ff0ce0e4e861c46bee103bea /lldb/source/Commands/CommandObjectProcess.cpp | |
parent | 13bb7948c91404d03bad017b601386493bbb1760 (diff) | |
download | llvm-7a33569510535f0b917a2e50f644bf57490aee24.zip llvm-7a33569510535f0b917a2e50f644bf57490aee24.tar.gz llvm-7a33569510535f0b917a2e50f644bf57490aee24.tar.bz2 |
[RISCV] Factor out common SiFive7 scheduling model into an abstraction layer (#144442)
In preparation for sifive-x390's scheduling model, which shares quite a
lot with the existing SiFive7 scheduling model, this patch factors out
some of the components that will share between them. Notably:
- Processor resource definitions (i.e. pipes) are factored out into a
multiclass, `SiFive7ProcResources`. Similarly, WriteRes entries and
bypass entries (i.e. ReadAdvance) are also factored out into their own
multiclass: `SiFive7WriteResBase` and `SiFive7ReadAdvance`,
respectively.
- The aforementioned three components, `SiFive7ProcResources`,
`SiFive7WriteResBase`, and `SiFive7ReadAdvance` are encapsulated into a
bigger multiclass, `SiFive7SchedResources`, which configures these
components with parameters passed from the template arguments. An
example configure value would be the VLEN.
- SiFive7's SchedMachineModel carries not only standard fields like
issue width, but also the concrete config values corresponding to the
processor. For instance, the existing SiFive7 models has VLEN=512, while
X390 has VLEN=1024.
- In the final phase, we "bind" SchedMachineModel from each processor to
a SiFive7SchedResources that is instantiated from that
SchedMachineModel's config values.
Co-authored-by: Michael Maitland <michaeltmaitland@gmail.com>
Diffstat (limited to 'lldb/source/Commands/CommandObjectProcess.cpp')
0 files changed, 0 insertions, 0 deletions