This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Add new SchedRead and SchedWrite
ClosedPublic

Authored by shiva0217 on Mar 3 2020, 4:34 AM.

Details

Summary

The patch fixes some typos and introduces ReadFMemBase, ReadFSGNJ32, ReadFSGNJ64, WriteFSGNJ32, WriteFSGNJ64, ReadFMinMax32, ReadFMinMax64, WriteFMinMax32, WriteFMinMax64, so the target CPU with different pipeline model could use them to describe latency.

Diff Detail

Event Timeline

shiva0217 created this revision.Mar 3 2020, 4:34 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 3 2020, 4:34 AM
HsiangKai added inline comments.Mar 4 2020, 11:48 PM
llvm/lib/Target/RISCV/RISCVInstrInfoD.td
117–120

There is no need to create this class. You could remove Sched from FPALUD_rr class.

llvm/lib/Target/RISCV/RISCVInstrInfoF.td
152–155

No need to create this class. Remove Sched from FPALUS_rr.

llvm/lib/Target/RISCV/RISCVSchedRocket32.td
92–93

let Latency = 4 in { ...

97–98

let Latency = 6 in { ...

llvm/lib/Target/RISCV/RISCVSchedRocket64.td
105–106

let Latency = 4 in { ...

110–111

let Latency = 6 in { ...

shiva0217 updated this revision to Diff 248414.Mar 5 2020, 2:10 AM

Update the patch to address @HsiangKai's comments.

HsiangKai accepted this revision.Mar 8 2020, 7:47 PM

LGTM.

This revision is now accepted and ready to land.Mar 8 2020, 7:47 PM

Hi @HsiangKai,
Thanks for the review.

This revision was automatically updated to reflect the committed changes.