From cdb91465e34d12b22c143847eb5fdb278ecf7689 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sun, 25 Jun 2023 21:59:27 -0700 Subject: [PATCH] [RISCV] Remove WriteJmpReg. Use WriteJalr in its place. It was only used for the compressed instruction c.jr which expands to jalr with rd=x0. Use WriteJalr instead to match jalr. --- llvm/lib/Target/RISCV/RISCVInstrInfoC.td | 2 +- llvm/lib/Target/RISCV/RISCVSchedRocket.td | 1 - llvm/lib/Target/RISCV/RISCVSchedSiFive7.td | 1 - llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td | 1 - llvm/lib/Target/RISCV/RISCVSchedule.td | 1 - 5 files changed, 1 insertion(+), 5 deletions(-) diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoC.td b/llvm/lib/Target/RISCV/RISCVInstrInfoC.td index e3a026f..22acb94 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoC.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoC.td @@ -551,7 +551,7 @@ def C_LDSP : CStackLoad<0b011, "c.ldsp", GPRNoX0, uimm9_lsb000>, let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in def C_JR : RVInst16CR<0b1000, 0b10, (outs), (ins GPRNoX0:$rs1), - "c.jr", "$rs1">, Sched<[WriteJmpReg, ReadJalr]> { + "c.jr", "$rs1">, Sched<[WriteJalr, ReadJalr]> { let isBarrier = 1; let isTerminator = 1; let rs2 = 0; diff --git a/llvm/lib/Target/RISCV/RISCVSchedRocket.td b/llvm/lib/Target/RISCV/RISCVSchedRocket.td index a92c077..b14cdd4 100644 --- a/llvm/lib/Target/RISCV/RISCVSchedRocket.td +++ b/llvm/lib/Target/RISCV/RISCVSchedRocket.td @@ -51,7 +51,6 @@ let SchedModel = RocketModel in { def : WriteRes; def : WriteRes; def : WriteRes; -def : WriteRes; // Integer arithmetic and logic def : WriteRes; diff --git a/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td b/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td index 72a5fca..c4575be 100644 --- a/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td +++ b/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td @@ -252,7 +252,6 @@ let Latency = 3 in { def : WriteRes; def : WriteRes; def : WriteRes; -def : WriteRes; } //Short forward branch diff --git a/llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td b/llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td index 4016b9f..41eefa0 100644 --- a/llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td +++ b/llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td @@ -41,7 +41,6 @@ def SCR1_CFU : ProcResource<1>; def : WriteRes; def : WriteRes; def : WriteRes; -def : WriteRes; // Integer arithmetic and logic def : WriteRes; diff --git a/llvm/lib/Target/RISCV/RISCVSchedule.td b/llvm/lib/Target/RISCV/RISCVSchedule.td index c92e940..af318ea 100644 --- a/llvm/lib/Target/RISCV/RISCVSchedule.td +++ b/llvm/lib/Target/RISCV/RISCVSchedule.td @@ -20,7 +20,6 @@ def WriteIMul32 : SchedWrite; // 32-bit multiply on RV64I def WriteJmp : SchedWrite; // Jump def WriteJal : SchedWrite; // Jump and link def WriteJalr : SchedWrite; // Jump and link register -def WriteJmpReg : SchedWrite; // Jump register def WriteNop : SchedWrite; def WriteLDB : SchedWrite; // Load byte def WriteLDH : SchedWrite; // Load half-word -- 2.7.4