[llvm] e2bfbed - [RISCV] Add ReadFStoreData as a SchedRead.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 8 09:33:38 PDT 2022
Author: Craig Topper
Date: 2022-08-08T09:33:19-07:00
New Revision: e2bfbed2bb647dc95d3f7e66d07dad0db1cb36b9
URL: https://github.com/llvm/llvm-project/commit/e2bfbed2bb647dc95d3f7e66d07dad0db1cb36b9
DIFF: https://github.com/llvm/llvm-project/commit/e2bfbed2bb647dc95d3f7e66d07dad0db1cb36b9.diff
LOG: [RISCV] Add ReadFStoreData as a SchedRead.
The floating point stores use a different register class, it
probably makes sense to have a different SchedRead.
Reviewed By: monkchiang
Differential Revision: https://reviews.llvm.org/D131379
Added:
Modified:
llvm/lib/Target/RISCV/RISCVInstrInfoF.td
llvm/lib/Target/RISCV/RISCVSchedRocket.td
llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
llvm/lib/Target/RISCV/RISCVSchedule.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoF.td b/llvm/lib/Target/RISCV/RISCVInstrInfoF.td
index c3e7f1f336642..d57e2dd69dfab 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfoF.td
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfoF.td
@@ -160,7 +160,7 @@ class FPStore_r<bits<3> funct3, string opcodestr, RegisterClass rty,
: RVInstS<funct3, OPC_STORE_FP, (outs),
(ins rty:$rs2, GPR:$rs1, simm12:$imm12),
opcodestr, "$rs2, ${imm12}(${rs1})">,
- Sched<[sw, ReadStoreData, ReadFMemBase]>;
+ Sched<[sw, ReadFStoreData, ReadFMemBase]>;
let hasSideEffects = 0, mayLoad = 0, mayStore = 0, mayRaiseFPException = 1,
UseNamedOperandTable = 1, hasPostISelHook = 1, isCommutable = 1 in
diff --git a/llvm/lib/Target/RISCV/RISCVSchedRocket.td b/llvm/lib/Target/RISCV/RISCVSchedRocket.td
index 5a3c8deb7943b..1b1741ba0b68d 100644
--- a/llvm/lib/Target/RISCV/RISCVSchedRocket.td
+++ b/llvm/lib/Target/RISCV/RISCVSchedRocket.td
@@ -201,6 +201,7 @@ def : ReadAdvance<ReadAtomicLDW, 0>;
def : ReadAdvance<ReadAtomicLDD, 0>;
def : ReadAdvance<ReadAtomicSTW, 0>;
def : ReadAdvance<ReadAtomicSTD, 0>;
+def : ReadAdvance<ReadFStoreData, 0>;
def : ReadAdvance<ReadFMemBase, 0>;
def : ReadAdvance<ReadFALU32, 0>;
def : ReadAdvance<ReadFALU64, 0>;
diff --git a/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td b/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
index cfbd9722d7bc6..92e6d94f0b4dd 100644
--- a/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
+++ b/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
@@ -188,6 +188,7 @@ def : ReadAdvance<ReadAtomicLDW, 0>;
def : ReadAdvance<ReadAtomicLDD, 0>;
def : ReadAdvance<ReadAtomicSTW, 0>;
def : ReadAdvance<ReadAtomicSTD, 0>;
+def : ReadAdvance<ReadFStoreData, 0>;
def : ReadAdvance<ReadFMemBase, 0>;
def : ReadAdvance<ReadFALU32, 0>;
def : ReadAdvance<ReadFALU64, 0>;
diff --git a/llvm/lib/Target/RISCV/RISCVSchedule.td b/llvm/lib/Target/RISCV/RISCVSchedule.td
index 4971ca1d4e3e6..dc6608a8f2369 100644
--- a/llvm/lib/Target/RISCV/RISCVSchedule.td
+++ b/llvm/lib/Target/RISCV/RISCVSchedule.td
@@ -112,6 +112,7 @@ def ReadCSR : SchedRead;
def ReadMemBase : SchedRead;
def ReadFMemBase : SchedRead;
def ReadStoreData : SchedRead;
+def ReadFStoreData : SchedRead;
def ReadIALU : SchedRead;
def ReadIALU32 : SchedRead; // 32-bit integer ALU operations on RV64I
def ReadShiftImm : SchedRead;
More information about the llvm-commits
mailing list