[llvm] [RISCV] ReadStoreData is read later in the pipeline for SiFive7 (PR #86454)

Michael Maitland via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 24 13:39:09 PDT 2024


https://github.com/michaelmaitland created https://github.com/llvm/llvm-project/pull/86454

Store data is read later in the pipeline, so we use SiFive7AnyToGPRBypass to model that a store instruction can begin some cycles before that data is ready.

>From 65eade29ed932593e80426850639ba1cfce4a897 Mon Sep 17 00:00:00 2001
From: Michael Maitland <michaeltmaitland at gmail.com>
Date: Sun, 24 Mar 2024 13:26:58 -0700
Subject: [PATCH] [RISCV] ReadStoreData is read later in the pipeline for
 Bullet

Store data is read later in the pipeline, so we use SiFive7AnyToGPRBypass
to model that a store instruction can begin some cycles before that data
is ready.
---
 llvm/lib/Target/RISCV/RISCVSchedSiFive7.td | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td b/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
index 3586d235bdbbb9..54a13889ee698a 100644
--- a/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
+++ b/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
@@ -950,7 +950,7 @@ def : InstRW<[WriteIALU], (instrs COPY)>;
 def : SiFive7AnyToGPRBypass<ReadJmp>;
 def : SiFive7AnyToGPRBypass<ReadJalr>;
 def : ReadAdvance<ReadCSR, 0>;
-def : ReadAdvance<ReadStoreData, 0>;
+def : SiFive7AnyToGPRBypass<ReadStoreData>;
 def : ReadAdvance<ReadMemBase, 0>;
 def : SiFive7AnyToGPRBypass<ReadIALU>;
 def : SiFive7AnyToGPRBypass<ReadIALU32>;



More information about the llvm-commits mailing list