Skip to content

[RISCV] Add scheduling model for SiFive P800 processors #139316

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 20, 2025

Conversation

mshockwave
Copy link
Member

The scheduling model for SiFive P800 series cores. They have 6 integer pipes, 2 floating point pipes, and 2 vector pipes.
https://chipsandcheese.com/p/hot-chips-2023-sifives-p870-takes-risc-v-further

The tests are meant to have the same coverage as its P600 counterpart.

@llvmbot
Copy link
Member

llvmbot commented May 9, 2025

@llvm/pr-subscribers-backend-risc-v

Author: Min-Yih Hsu (mshockwave)

Changes

The scheduling model for SiFive P800 series cores. They have 6 integer pipes, 2 floating point pipes, and 2 vector pipes.
https://chipsandcheese.com/p/hot-chips-2023-sifives-p870-takes-risc-v-further

The tests are meant to have the same coverage as its P600 counterpart.


Patch is 1.10 MiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/139316.diff

21 Files Affected:

  • (modified) llvm/lib/Target/RISCV/RISCV.td (+1)
  • (modified) llvm/lib/Target/RISCV/RISCVProcessors.td (+1-1)
  • (added) llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td (+1184)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/div.s (+854)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/fmadd.s (+199)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/load.s (+86)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/mask.s (+151)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/mul-cpop.s (+85)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/vle-vse-vlm.s (+567)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/vlse-vsse.s (+341)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/vlseg-vsseg.s (+4752)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/vlxe-vsxe.s (+613)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/vmv.s (+694)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfa.s (+98)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zvbb.s (+483)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zvbc.s (+135)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zvkg.s (+150)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zvkned.s (+226)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zvknhb.s (+180)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zvksed.s (+136)
  • (added) llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zvksh.s (+121)
diff --git a/llvm/lib/Target/RISCV/RISCV.td b/llvm/lib/Target/RISCV/RISCV.td
index 7f96c6718ffa9..e322ae340349c 100644
--- a/llvm/lib/Target/RISCV/RISCV.td
+++ b/llvm/lib/Target/RISCV/RISCV.td
@@ -58,6 +58,7 @@ include "RISCVSchedSiFive7.td"
 include "RISCVSchedSiFiveP400.td"
 include "RISCVSchedSiFiveP500.td"
 include "RISCVSchedSiFiveP600.td"
+include "RISCVSchedSiFiveP800.td"
 include "RISCVSchedSpacemitX60.td"
 include "RISCVSchedSyntacoreSCR1.td"
 include "RISCVSchedSyntacoreSCR345.td"
diff --git a/llvm/lib/Target/RISCV/RISCVProcessors.td b/llvm/lib/Target/RISCV/RISCVProcessors.td
index db57f5c4da24e..735997de94e81 100644
--- a/llvm/lib/Target/RISCV/RISCVProcessors.td
+++ b/llvm/lib/Target/RISCV/RISCVProcessors.td
@@ -365,7 +365,7 @@ def SIFIVE_P670 : RISCVProcessorModel<"sifive-p670", SiFiveP600Model,
                                        TuneVXRMPipelineFlush,
                                        TunePostRAScheduler]>;
 
-def SIFIVE_P870 : RISCVProcessorModel<"sifive-p870", NoSchedModel,
+def SIFIVE_P870 : RISCVProcessorModel<"sifive-p870", SiFiveP800Model,
                                       !listconcat(RVA23U64Features,
                                       [FeatureStdExtZama16b,
                                        FeatureStdExtZfh,
diff --git a/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td b/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td
new file mode 100644
index 0000000000000..f226f1f683f5e
--- /dev/null
+++ b/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td
@@ -0,0 +1,1184 @@
+//==- RISCVSchedSiFiveP800.td - SiFiveP800 Scheduling Defs ---*- tablegen -*-=//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+//===----------------------------------------------------------------------===//
+
+/// c is true if mx has the worst case behavior compared to LMULs in MxList.
+/// On the SiFiveP800, the worst case LMUL is the Largest LMUL
+/// and the worst case sew is the smallest SEW for that LMUL.
+class SiFiveP800IsWorstCaseMX<string mx, list<string> MxList> {
+  string LLMUL = LargestLMUL<MxList>.r;
+  bit c = !eq(mx, LLMUL);
+}
+
+class SiFiveP800IsWorstCaseMXSEW<string mx, int sew, list<string> MxList, bit isF = 0> {
+  string LLMUL = LargestLMUL<MxList>.r;
+  int SSEW = SmallestSEW<mx, isF>.r;
+  bit c = !and(!eq(mx, LLMUL), !eq(sew, SSEW));
+}
+
+// 1 Micro-Op per cycle.
+class SiFiveP800GetLMulCycles<string mx> {
+  int c = !cond(
+    !eq(mx, "M1") : 1,
+    !eq(mx, "M2") : 2,
+    !eq(mx, "M4") : 4,
+    !eq(mx, "M8") : 8,
+    !eq(mx, "MF2") : 1,
+    !eq(mx, "MF4") : 1,
+    !eq(mx, "MF8") : 1
+  );
+}
+
+// Latency for segmented loads and stores are calculated as vl.
+class SiFiveP800GetCyclesSegmented<string mx, int sew> {
+  defvar VLEN = 128;
+  int c = !cond(
+    !eq(mx, "M1") : !div(VLEN, sew),
+    !eq(mx, "M2") : !div(!mul(VLEN, 2), sew),
+    !eq(mx, "M4") : !div(!mul(VLEN, 4), sew),
+    !eq(mx, "M8") : !div(!mul(VLEN, 8), sew),
+    !eq(mx, "MF2") : !div(!div(VLEN, 2), sew),
+    !eq(mx, "MF4") : !div(!div(VLEN, 4), sew),
+    !eq(mx, "MF8") : !div(!div(VLEN, 8), sew),
+  );
+}
+
+class SiFiveP800VSM3CCycles<string mx> {
+  // c = ceil(LMUL / 2)
+  int c = !cond(!eq(mx, "M2") : 1,
+                !eq(mx, "M4") : 2,
+                !eq(mx, "M8") : 4,
+                true : 1);
+}
+
+// SiFiveP800 machine model for scheduling and other instruction cost heuristics.
+def SiFiveP800Model : SchedMachineModel {
+  let IssueWidth = 6;          // 6 micro-ops are dispatched per cycle.
+  let MicroOpBufferSize = 288; // Max micro-ops that can be buffered.
+  let LoadLatency = 4;         // Cycles for loads to access the cache.
+  let MispredictPenalty = 9;   // Extra cycles for a mispredicted branch.
+  let PostRAScheduler = true;
+  let UnsupportedFeatures = [HasStdExtZbkb, HasStdExtZbkc, HasStdExtZbkx,
+                             HasStdExtZknd, HasStdExtZkne, HasStdExtZknh,
+                             HasStdExtZksed, HasStdExtZksh, HasStdExtZkr,
+                             HasVendorXSfvqmaccqoq, HasVendorXSfvqmaccdod];
+  let CompleteModel = false;
+}
+
+let SchedModel = SiFiveP800Model in {
+
+def SiFiveP800IEXQ0       : ProcResource<1>;
+def SiFiveP800IEXQ1       : ProcResource<1>;
+def SiFiveP800IEXQ2       : ProcResource<1>;
+def SiFiveP800IEXQ3       : ProcResource<1>;
+def SiFiveP800IEXQ4       : ProcResource<1>;
+def SiFiveP800IEXQ5       : ProcResource<1>;
+def SiFiveP800FEXQ0       : ProcResource<1>;
+def SiFiveP800FEXQ1       : ProcResource<1>;
+
+// Two Load/Store ports that can issue either two loads, two stores, or one load
+// and one store.
+def SiFiveP800LDST       : ProcResource<2>;
+// One additional port that can only handle loads.
+def SiFiveP800LD         : ProcResource<1>;
+def SiFiveP800Load       : ProcResGroup<[SiFiveP800LDST, SiFiveP800LD]>;
+
+// 6-wide pipeline with 6 ALU pipes.
+def SiFiveP800IntArith    : ProcResGroup<[SiFiveP800IEXQ0, SiFiveP800IEXQ1, SiFiveP800IEXQ2, SiFiveP800IEXQ3]>;
+defvar SiFiveP800SYS      = SiFiveP800IEXQ1;
+defvar SiFiveP800CMOV     = SiFiveP800IEXQ3;
+defvar SiFiveP800I2F      = SiFiveP800IEXQ3;
+def SiFiveP800Mul         : ProcResGroup<[SiFiveP800IEXQ1, SiFiveP800IEXQ3]>;
+def SiFiveP800Branch      : ProcResGroup<[SiFiveP800IEXQ4, SiFiveP800IEXQ5]>;
+def SiFiveP800Div         : ProcResource<1>;
+
+def SiFiveP800FloatArith  : ProcResGroup<[SiFiveP800FEXQ0, SiFiveP800FEXQ1]>;
+defvar SiFiveP800F2I      = SiFiveP800FEXQ0;
+def SiFiveP800FloatDiv    : ProcResource<1>;
+
+// Vector pipeline
+// VEXQ0 handle Mask, Simple Slide instructions,
+// VEXQ1 handle Complex Slide, Permutation, Reductions, Divide instructions.
+// Other vector instructions can be done in VEXQ0 and VEXQ1.
+def SiFiveP800VEXQ0        : ProcResource<1>;
+def SiFiveP800VEXQ1        : ProcResource<1>;
+def SiFiveP800VectorArith  : ProcResGroup<[SiFiveP800VEXQ0, SiFiveP800VEXQ1]>;
+
+def SiFiveP800VLD          : ProcResource<1>;
+def SiFiveP800VST          : ProcResource<1>;
+def SiFiveP800VDiv         : ProcResource<1>;
+def SiFiveP800VFloatDiv    : ProcResource<1>;
+
+// Integer arithmetic and logic
+def : WriteRes<WriteIALU, [SiFiveP800IntArith]>;
+def : WriteRes<WriteIALU32, [SiFiveP800IntArith]>;
+def : WriteRes<WriteShiftImm, [SiFiveP800IntArith]>;
+def : WriteRes<WriteShiftImm32, [SiFiveP800IntArith]>;
+def : WriteRes<WriteShiftReg, [SiFiveP800IntArith]>;
+def : WriteRes<WriteShiftReg32, [SiFiveP800IntArith]>;
+// Branching
+def : WriteRes<WriteJmp, [SiFiveP800Branch]>;
+def : WriteRes<WriteJal, [SiFiveP800Branch]>;
+def : WriteRes<WriteJalr, [SiFiveP800Branch]>;
+
+// CMOV
+def P800WriteCMOV : SchedWriteRes<[SiFiveP800Branch, SiFiveP800CMOV]> {
+  let Latency = 2;
+  let NumMicroOps = 2;
+}
+def : InstRW<[P800WriteCMOV], (instrs PseudoCCMOVGPRNoX0)>;
+
+let Latency = 2 in {
+// Integer multiplication
+def : WriteRes<WriteIMul, [SiFiveP800Mul]>;
+def : WriteRes<WriteIMul32, [SiFiveP800Mul]>;
+// cpop[w] look exactly like multiply.
+def : WriteRes<WriteCPOP, [SiFiveP800Mul]>;
+def : WriteRes<WriteCPOP32, [SiFiveP800Mul]>;
+}
+
+// Integer division
+def : WriteRes<WriteIDiv, [SiFiveP800IEXQ2, SiFiveP800Div]> {
+  let Latency = 35;
+  let ReleaseAtCycles = [1, 34];
+}
+def : WriteRes<WriteIDiv32,  [SiFiveP800IEXQ2, SiFiveP800Div]> {
+  let Latency = 20;
+  let ReleaseAtCycles = [1, 19];
+}
+
+// Integer remainder
+def : WriteRes<WriteIRem, [SiFiveP800IEXQ2, SiFiveP800Div]> {
+  let Latency = 35;
+  let ReleaseAtCycles = [1, 34];
+}
+def : WriteRes<WriteIRem32,  [SiFiveP800IEXQ2, SiFiveP800Div]> {
+  let Latency = 20;
+  let ReleaseAtCycles = [1, 19];
+}
+
+// Bitmanip
+def : WriteRes<WriteRotateImm, [SiFiveP800IntArith]>;
+def : WriteRes<WriteRotateImm32, [SiFiveP800IntArith]>;
+def : WriteRes<WriteRotateReg, [SiFiveP800IntArith]>;
+def : WriteRes<WriteRotateReg32, [SiFiveP800IntArith]>;
+
+def : WriteRes<WriteCLZ, [SiFiveP800IntArith]>;
+def : WriteRes<WriteCLZ32, [SiFiveP800IntArith]>;
+def : WriteRes<WriteCTZ, [SiFiveP800IntArith]>;
+def : WriteRes<WriteCTZ32, [SiFiveP800IntArith]>;
+
+def : WriteRes<WriteORCB, [SiFiveP800IntArith]>;
+def : WriteRes<WriteIMinMax, [SiFiveP800IntArith]>;
+
+def : WriteRes<WriteREV8, [SiFiveP800IntArith]>;
+
+def : WriteRes<WriteSHXADD, [SiFiveP800IntArith]>;
+def : WriteRes<WriteSHXADD32, [SiFiveP800IntArith]>;
+
+def : WriteRes<WriteSingleBit, [SiFiveP800IntArith]>;
+def : WriteRes<WriteSingleBitImm, [SiFiveP800IntArith]>;
+def : WriteRes<WriteBEXT, [SiFiveP800IntArith]>;
+def : WriteRes<WriteBEXTI, [SiFiveP800IntArith]>;
+
+// Memory
+def : WriteRes<WriteSTB, [SiFiveP800LDST]>;
+def : WriteRes<WriteSTH, [SiFiveP800LDST]>;
+def : WriteRes<WriteSTW, [SiFiveP800LDST]>;
+def : WriteRes<WriteSTD, [SiFiveP800LDST]>;
+def : WriteRes<WriteFST16, [SiFiveP800LDST]>;
+def : WriteRes<WriteFST32, [SiFiveP800LDST]>;
+def : WriteRes<WriteFST64, [SiFiveP800LDST]>;
+
+let Latency = 4 in {
+def : WriteRes<WriteLDB, [SiFiveP800Load]>;
+def : WriteRes<WriteLDH, [SiFiveP800Load]>;
+}
+let Latency = 4 in {
+def : WriteRes<WriteLDW, [SiFiveP800Load]>;
+def : WriteRes<WriteLDD, [SiFiveP800Load]>;
+}
+
+let Latency = 5 in {
+def : WriteRes<WriteFLD16, [SiFiveP800Load]>;
+def : WriteRes<WriteFLD32, [SiFiveP800Load]>;
+def : WriteRes<WriteFLD64, [SiFiveP800Load]>;
+}
+
+// Atomic memory
+let Latency = 3 in {
+def : WriteRes<WriteAtomicSTW, [SiFiveP800LDST]>;
+def : WriteRes<WriteAtomicSTD, [SiFiveP800LDST]>;
+def : WriteRes<WriteAtomicW, [SiFiveP800LDST]>;
+def : WriteRes<WriteAtomicD, [SiFiveP800LDST]>;
+def : WriteRes<WriteAtomicLDW, [SiFiveP800Load]>;
+def : WriteRes<WriteAtomicLDD, [SiFiveP800Load]>;
+}
+
+// Floating point
+let Latency = 2 in {
+def : WriteRes<WriteFAdd16, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFAdd32, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFAdd64, [SiFiveP800FloatArith]>;
+}
+let Latency = 3 in {
+def : WriteRes<WriteFMul16, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFMul32, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFMul64, [SiFiveP800FloatArith]>;
+}
+let Latency = 4 in {
+def : WriteRes<WriteFMA16, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFMA32, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFMA64, [SiFiveP800FloatArith]>;
+}
+
+let Latency = 2 in {
+def : WriteRes<WriteFSGNJ16, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFSGNJ32, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFSGNJ64, [SiFiveP800FloatArith]>;
+
+def : WriteRes<WriteFMinMax16, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFMinMax32, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFMinMax64, [SiFiveP800FloatArith]>;
+}
+
+// Half precision.
+def : WriteRes<WriteFDiv16, [SiFiveP800FEXQ1, SiFiveP800FloatDiv]> {
+  let Latency = 4;
+  let ReleaseAtCycles = [1, 4];
+}
+def : WriteRes<WriteFSqrt16, [SiFiveP800FEXQ1, SiFiveP800FloatDiv]> {
+  let Latency = 18;
+  let ReleaseAtCycles = [1, 17];
+}
+
+// Single precision.
+def : WriteRes<WriteFDiv32, [SiFiveP800FEXQ1, SiFiveP800FloatDiv]> {
+  let Latency = 6;
+  let ReleaseAtCycles = [1, 6];
+}
+def : WriteRes<WriteFSqrt32, [SiFiveP800FEXQ1, SiFiveP800FloatDiv]> {
+  let Latency = 18;
+  let ReleaseAtCycles = [1, 17];
+}
+
+// Double precision
+def : WriteRes<WriteFDiv64, [SiFiveP800FEXQ1, SiFiveP800FloatDiv]> {
+  let Latency = 11;
+  let ReleaseAtCycles = [1, 11];
+}
+def : WriteRes<WriteFSqrt64, [SiFiveP800FEXQ1, SiFiveP800FloatDiv]> {
+  let Latency = 33;
+  let ReleaseAtCycles = [1, 32];
+}
+
+// Conversions
+let Latency = 2 in {
+def : WriteRes<WriteFCvtI32ToF16, [SiFiveP800I2F]>;
+def : WriteRes<WriteFCvtI32ToF32, [SiFiveP800I2F]>;
+def : WriteRes<WriteFCvtI32ToF64, [SiFiveP800I2F]>;
+def : WriteRes<WriteFCvtI64ToF16, [SiFiveP800I2F]>;
+def : WriteRes<WriteFCvtI64ToF32, [SiFiveP800I2F]>;
+def : WriteRes<WriteFCvtI64ToF64, [SiFiveP800I2F]>;
+def : WriteRes<WriteFCvtF16ToI32, [SiFiveP800F2I]>;
+def : WriteRes<WriteFCvtF16ToI64, [SiFiveP800F2I]>;
+def : WriteRes<WriteFCvtF16ToF32, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFCvtF16ToF64, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFCvtF32ToI32, [SiFiveP800F2I]>;
+def : WriteRes<WriteFCvtF32ToI64, [SiFiveP800F2I]>;
+def : WriteRes<WriteFCvtF32ToF16, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFCvtF32ToF64, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFCvtF64ToI32, [SiFiveP800F2I]>;
+def : WriteRes<WriteFCvtF64ToI64, [SiFiveP800F2I]>;
+def : WriteRes<WriteFCvtF64ToF16, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFCvtF64ToF32, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFRoundF16, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFRoundF32, [SiFiveP800FloatArith]>;
+def : WriteRes<WriteFRoundF64, [SiFiveP800FloatArith]>;
+
+def : WriteRes<WriteFClass16, [SiFiveP800F2I]>;
+def : WriteRes<WriteFClass32, [SiFiveP800F2I]>;
+def : WriteRes<WriteFClass64, [SiFiveP800F2I]>;
+def : WriteRes<WriteFCmp16, [SiFiveP800F2I]>;
+def : WriteRes<WriteFCmp32, [SiFiveP800F2I]>;
+def : WriteRes<WriteFCmp64, [SiFiveP800F2I]>;
+def : WriteRes<WriteFMovI16ToF16, [SiFiveP800I2F]>;
+def : WriteRes<WriteFMovF16ToI16, [SiFiveP800F2I]>;
+def : WriteRes<WriteFMovI32ToF32, [SiFiveP800I2F]>;
+def : WriteRes<WriteFMovF32ToI32, [SiFiveP800F2I]>;
+def : WriteRes<WriteFMovI64ToF64, [SiFiveP800I2F]>;
+def : WriteRes<WriteFMovF64ToI64, [SiFiveP800F2I]>;
+def : WriteRes<WriteFLI16, [SiFiveP800I2F]>;
+def : WriteRes<WriteFLI32, [SiFiveP800I2F]>;
+def : WriteRes<WriteFLI64, [SiFiveP800I2F]>;
+}
+
+// 6. Configuration-Setting Instructions
+def : WriteRes<WriteVSETVLI, [SiFiveP800SYS]>;
+def : WriteRes<WriteVSETIVLI, [SiFiveP800SYS]>;
+def : WriteRes<WriteVSETVL, [SiFiveP800SYS]>;
+
+// 7. Vector Loads and Stores
+// FIXME: This unit is still being improved, currently
+// it is based on stage numbers. Estimates are optimistic,
+// latency may be longer.
+foreach mx = SchedMxList in {
+  defvar LMulLat = SiFiveP800GetLMulCycles<mx>.c;
+  defvar IsWorstCase = SiFiveP800IsWorstCaseMX<mx, SchedMxList>.c;
+  let Latency = 8, ReleaseAtCycles = [LMulLat] in {
+    defm "" : LMULWriteResMX<"WriteVLDE",    [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDM",    [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDFF",   [SiFiveP800VLD], mx, IsWorstCase>;
+  }
+  let Latency = 12, ReleaseAtCycles = [LMulLat] in {
+    defm "" : LMULWriteResMX<"WriteVLDS8",   [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDS16",  [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDS32",  [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDS64",  [SiFiveP800VLD], mx, IsWorstCase>;
+  }
+  let Latency = 12, ReleaseAtCycles = [LMulLat] in {
+    defm "" : LMULWriteResMX<"WriteVLDUX8",  [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDUX16", [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDUX32", [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDUX64", [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDOX8",  [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDOX16", [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDOX32", [SiFiveP800VLD], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVLDOX64", [SiFiveP800VLD], mx, IsWorstCase>;
+  }
+}
+
+foreach mx = SchedMxList in {
+  defvar LMulLat = SiFiveP800GetLMulCycles<mx>.c;
+  defvar IsWorstCase = SiFiveP800IsWorstCaseMX<mx, SchedMxList>.c;
+  let Latency = 8, ReleaseAtCycles = [LMulLat] in {
+    defm "" : LMULWriteResMX<"WriteVSTE",    [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTM",    [SiFiveP800VST], mx, IsWorstCase>;
+  }
+  let Latency = 12, ReleaseAtCycles = [LMulLat] in {
+    defm "" : LMULWriteResMX<"WriteVSTS8",   [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTS16",  [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTS32",  [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTS64",  [SiFiveP800VST], mx, IsWorstCase>;
+  }
+  let Latency = 12, ReleaseAtCycles = [LMulLat] in {
+    defm "" : LMULWriteResMX<"WriteVSTUX8",  [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTUX16", [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTUX32", [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTUX64", [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTOX8",  [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTOX16", [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTOX32", [SiFiveP800VST], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVSTOX64", [SiFiveP800VST], mx, IsWorstCase>;
+  }
+}
+
+foreach mx = SchedMxList in {
+  foreach nf=2-8 in {
+    foreach eew = [8, 16, 32, 64] in {
+      defvar LMulLat = SiFiveP800GetCyclesSegmented<mx, eew>.c;
+      defvar IsWorstCase = SiFiveP800IsWorstCaseMX<mx, SchedMxList>.c;
+      let Latency = !add(12, LMulLat), ReleaseAtCycles = [!add(12, LMulLat)] in {
+        defm "" : LMULWriteResMX<"WriteVLSEG" # nf # "e" # eew,   [SiFiveP800VLD], mx, IsWorstCase>;
+        defm "" : LMULWriteResMX<"WriteVLSEGFF" # nf # "e" # eew, [SiFiveP800VLD], mx, IsWorstCase>;
+        defm "" : LMULWriteResMX<"WriteVLSSEG" # nf # "e" # eew,  [SiFiveP800VLD], mx, IsWorstCase>;
+        defm "" : LMULWriteResMX<"WriteVLUXSEG" # nf # "e" # eew, [SiFiveP800VLD], mx, IsWorstCase>;
+        defm "" : LMULWriteResMX<"WriteVLOXSEG" # nf # "e" # eew, [SiFiveP800VLD], mx, IsWorstCase>;
+      }
+      let Latency = !add(1, LMulLat), ReleaseAtCycles = [!add(12, LMulLat)] in {
+        defm "" : LMULWriteResMX<"WriteVSSEG" # nf # "e" # eew,   [SiFiveP800VST], mx, IsWorstCase>;
+        defm "" : LMULWriteResMX<"WriteVSSSEG" # nf # "e" # eew,  [SiFiveP800VST], mx, IsWorstCase>;
+        defm "" : LMULWriteResMX<"WriteVSUXSEG" # nf # "e" # eew, [SiFiveP800VST], mx, IsWorstCase>;
+        defm "" : LMULWriteResMX<"WriteVSOXSEG" # nf # "e" # eew, [SiFiveP800VST], mx, IsWorstCase>;
+      }
+    }
+  }
+}
+
+// Whole register move/load/store
+foreach LMul = [1, 2, 4, 8] in {
+  let Latency = 8, ReleaseAtCycles = [LMul] in {
+    def : WriteRes<!cast<SchedWrite>("WriteVLD" # LMul # "R"), [SiFiveP800VLD]>;
+    def : WriteRes<!cast<SchedWrite>("WriteVST" # LMul # "R"), [SiFiveP800VST]>;
+  }
+  let Latency = 2, ReleaseAtCycles = [LMul] in {
+    def : WriteRes<!cast<SchedWrite>("WriteVMov" # LMul # "V"), [SiFiveP800VectorArith]>;
+  }
+}
+
+// 11. Vector Integer Arithmetic Instructions
+foreach mx = SchedMxList in {
+  defvar LMulLat = SiFiveP800GetLMulCycles<mx>.c;
+  defvar IsWorstCase = SiFiveP800IsWorstCaseMX<mx, SchedMxList>.c;
+  let Latency = 2, ReleaseAtCycles = [LMulLat] in {
+    defm "" : LMULWriteResMX<"WriteVIALUV",   [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVIALUX",   [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVIALUI",   [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVExtV",    [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVICALUV",  [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVICALUX",  [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVICALUI",  [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVICALUMV", [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVICALUMX", [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVICALUMI", [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVICmpV",   [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVICmpX",   [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVICmpI",   [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVIMergeV", [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVIMergeX", [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVIMergeI", [SiFiveP800VectorArith], mx, IsWorstCase>;
+    defm "" : LMULWriteResMX<"WriteVIMovV",   [SiFiveP800VectorArith], mx, IsWorstCa...
[truncated]

@mshockwave mshockwave requested a review from wangpc-pp May 16, 2025 20:24
Copy link
Contributor

@wangpc-pp wangpc-pp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@mshockwave mshockwave merged commit b92b548 into llvm:main May 20, 2025
9 of 11 checks passed
@mshockwave mshockwave deleted the patch/riscv/sifive-p800-sched-model branch May 20, 2025 16:13
@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder lldb-x86_64-debian running on lldb-x86_64-debian while building llvm at step 4 "build".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/162/builds/22785

Here is the relevant piece of the build log for the reference
Step 4 (build) failure: build (failure)
...
3.370 [190/17/27] Building RISCVGenO0PreLegalizeGICombiner.inc...
3.424 [190/16/28] Building RISCVGenMCCodeEmitter.inc...
3.447 [190/15/29] Building RISCVGenDisassemblerTables.inc...
3.466 [190/14/30] Building RISCVGenPreLegalizeGICombiner.inc...
3.486 [190/13/31] Building RISCVGenPostLegalizeGICombiner.inc...
3.574 [190/12/32] Building RISCVGenAsmWriter.inc...
3.618 [190/11/33] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Version.cpp.o
3.706 [190/10/34] Building RISCVGenAsmMatcher.inc...
4.279 [190/9/35] Building RISCVGenSearchableTables.inc...
4.351 [190/8/36] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /home/worker/2.0.1/lldb-x86_64-debian/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /home/worker/2.0.1/lldb-x86_64-debian/build/lib/Target/RISCV && /home/worker/2.0.1/lldb-x86_64-debian/build/bin/llvm-tblgen -gen-subtarget -I /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV -I/home/worker/2.0.1/lldb-x86_64-debian/build/include -I/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/include -I /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /usr/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV /home/worker/2.0.1/lldb-x86_64-debian/build /home/worker/2.0.1/lldb-x86_64-debian/build/lib/Target/RISCV /home/worker/2.0.1/lldb-x86_64-debian/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /home/worker/2.0.1/lldb-x86_64-debian/build/CMakeFiles/d/cc84bcfc7147ea448c05175aa35c264e415a45c1f7c4e0d90d1209c2e35a4805.d
Included from /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
4.854 [190/7/37] Building CXX object tools/llvm-config/CMakeFiles/llvm-config.dir/llvm-config.cpp.o
5.439 [190/6/38] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
10.270 [190/5/39] Building RISCVGenInstrInfo.inc...
11.483 [190/4/40] Building RISCVGenGlobalISel.inc...
13.313 [190/3/41] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
13.870 [190/2/42] Building RISCVGenDAGISel.inc...
14.601 [190/1/43] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-gcc-ubuntu running on sie-linux-worker3 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/174/builds/18058

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
2.655 [280/16/26] Building RISCVGenAsmMatcher.inc...
2.742 [280/15/27] Building RISCVGenExegesis.inc...
2.819 [280/14/28] Building RISCVGenSDNodeInfo.inc...
2.820 [279/13/29] Building RISCVGenMCPseudoLowering.inc...
2.822 [279/12/30] Building RISCVGenRegisterInfo.inc...
2.867 [279/11/31] Building RISCVGenCompressInstEmitter.inc...
2.868 [279/10/32] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Version.cpp.o
2.942 [279/9/33] Building RISCVGenPreLegalizeGICombiner.inc...
3.110 [279/8/34] Building RISCVGenSearchableTables.inc...
4.157 [279/7/35] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/lib/Target/RISCV && /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/llvm-tblgen -gen-subtarget -I /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/lib/Target/RISCV -I/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/include -I/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/include -I /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/lib/Target /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /usr/bin/cmake/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/lib/Target/RISCV /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/lib/Target/RISCV /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/CMakeFiles/d/cec4ab641d907eeac08f5609bd906c7df1fb11f277566153a80ca3d00bef6df1.d
Included from /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
4.868 [279/6/36] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
8.436 [279/5/37] Building RISCVGenInstrInfo.inc...
10.128 [279/4/38] Building RISCVGenGlobalISel.inc...
12.781 [279/3/39] Building RISCVGenDAGISel.inc...
15.281 [279/2/40] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
16.112 [279/1/41] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
ninja: build stopped: subcommand failed.

@mshockwave
Copy link
Member Author

LLVM Buildbot has detected a new failure on builder lldb-x86_64-debian running on lldb-x86_64-debian while building llvm at step 4 "build".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/162/builds/22785

Here is the relevant piece of the build log for the reference

Step 4 (build) failure: build (failure)
...
3.370 [190/17/27] Building RISCVGenO0PreLegalizeGICombiner.inc...
3.424 [190/16/28] Building RISCVGenMCCodeEmitter.inc...
3.447 [190/15/29] Building RISCVGenDisassemblerTables.inc...
3.466 [190/14/30] Building RISCVGenPreLegalizeGICombiner.inc...
3.486 [190/13/31] Building RISCVGenPostLegalizeGICombiner.inc...
3.574 [190/12/32] Building RISCVGenAsmWriter.inc...
3.618 [190/11/33] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Version.cpp.o
3.706 [190/10/34] Building RISCVGenAsmMatcher.inc...
4.279 [190/9/35] Building RISCVGenSearchableTables.inc...
4.351 [190/8/36] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /home/worker/2.0.1/lldb-x86_64-debian/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /home/worker/2.0.1/lldb-x86_64-debian/build/lib/Target/RISCV && /home/worker/2.0.1/lldb-x86_64-debian/build/bin/llvm-tblgen -gen-subtarget -I /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV -I/home/worker/2.0.1/lldb-x86_64-debian/build/include -I/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/include -I /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /usr/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV /home/worker/2.0.1/lldb-x86_64-debian/build /home/worker/2.0.1/lldb-x86_64-debian/build/lib/Target/RISCV /home/worker/2.0.1/lldb-x86_64-debian/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /home/worker/2.0.1/lldb-x86_64-debian/build/CMakeFiles/d/cc84bcfc7147ea448c05175aa35c264e415a45c1f7c4e0d90d1209c2e35a4805.d
Included from /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
4.854 [190/7/37] Building CXX object tools/llvm-config/CMakeFiles/llvm-config.dir/llvm-config.cpp.o
5.439 [190/6/38] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
10.270 [190/5/39] Building RISCVGenInstrInfo.inc...
11.483 [190/4/40] Building RISCVGenGlobalISel.inc...
13.313 [190/3/41] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
13.870 [190/2/42] Building RISCVGenDAGISel.inc...
14.601 [190/1/43] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
ninja: build stopped: subcommand failed.

Fixed by b3c3297

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder clang-x86_64-linux-abi-test running on sie-linux-worker2 while building llvm at step 6 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/8/builds/15579

Here is the relevant piece of the build log for the reference
Step 6 (build-unified-tree) failure: build (failure)
...
89.669 [4527/10/2662] Building CXX object lib/Target/Sparc/MCTargetDesc/CMakeFiles/LLVMSparcDesc.dir/SparcInstPrinter.cpp.o
89.697 [4526/10/2663] Building CXX object lib/Target/Sparc/MCTargetDesc/CMakeFiles/LLVMSparcDesc.dir/SparcMCAsmInfo.cpp.o
89.713 [4525/10/2664] Building CXX object lib/Target/Sparc/MCTargetDesc/CMakeFiles/LLVMSparcDesc.dir/SparcMCCodeEmitter.cpp.o
89.739 [4524/10/2665] Building CXX object lib/Target/Sparc/MCTargetDesc/CMakeFiles/LLVMSparcDesc.dir/SparcMCTargetDesc.cpp.o
89.742 [4523/10/2666] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/DelaySlotFiller.cpp.o
89.744 [4522/10/2667] Building CXX object lib/Target/Sparc/MCTargetDesc/CMakeFiles/LLVMSparcDesc.dir/SparcMCExpr.cpp.o
89.772 [4521/10/2668] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/LeonPasses.cpp.o
89.777 [4520/10/2669] Building CXX object lib/Target/Sparc/MCTargetDesc/CMakeFiles/LLVMSparcDesc.dir/SparcTargetStreamer.cpp.o
89.778 [4519/10/2670] Building CXX object lib/Target/Sparc/TargetInfo/CMakeFiles/LLVMSparcInfo.dir/SparcTargetInfo.cpp.o
89.792 [4518/10/2671] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /home/buildbot/buildbot-root/abi-test/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /home/buildbot/buildbot-root/abi-test/build/lib/Target/RISCV && /home/buildbot/buildbot-root/abi-test/build/bin/llvm-tblgen -gen-subtarget -I /home/buildbot/buildbot-root/abi-test/llvm/llvm/lib/Target/RISCV -I/home/buildbot/buildbot-root/abi-test/build/include -I/home/buildbot/buildbot-root/abi-test/llvm/llvm/include -I /home/buildbot/buildbot-root/abi-test/llvm/llvm/lib/Target /home/buildbot/buildbot-root/abi-test/llvm/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /usr/bin/cmake/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /home/buildbot/buildbot-root/abi-test/llvm/llvm /home/buildbot/buildbot-root/abi-test/llvm/llvm/lib/Target/RISCV /home/buildbot/buildbot-root/abi-test/build /home/buildbot/buildbot-root/abi-test/build/lib/Target/RISCV /home/buildbot/buildbot-root/abi-test/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /home/buildbot/buildbot-root/abi-test/build/CMakeFiles/d/7220b3eab6ed436ab9a1e6d894418ea23f7236306a6f1fd963c2b9d3eb637fe3.d
Included from /home/buildbot/buildbot-root/abi-test/llvm/llvm/lib/Target/RISCV/RISCV.td:61:
/home/buildbot/buildbot-root/abi-test/llvm/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
89.808 [4518/9/2672] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVTargetMachine.cpp.o
89.811 [4518/8/2673] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVEmitNonSemanticDI.cpp.o
89.821 [4518/7/2674] Building CXX object lib/Target/SPIRV/Analysis/CMakeFiles/LLVMSPIRVAnalysis.dir/SPIRVConvergenceRegionAnalysis.cpp.o
89.823 [4518/6/2675] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVUtils.cpp.o
89.950 [4518/5/2676] Building RISCVGenSearchableTables.inc...
91.245 [4518/4/2677] Building RISCVGenInstrInfo.inc...
92.867 [4518/3/2678] Building RISCVGenGlobalISel.inc...
93.714 [4518/2/2679] Building RISCVGenDAGISel.inc...
97.354 [4518/1/2680] Building InstCombineTables.inc...
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-rel-x86-64 running on ml-opt-rel-x86-64-b1 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/185/builds/18637

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
32.464 [2126/40/1714] Linking CXX static library lib/libLLVMSystemZDisassembler.a
32.508 [2126/39/1715] Building RISCVGenSearchableTables.inc...
32.517 [2126/38/1716] Building X86GenAsmWriter.inc...
32.834 [2126/37/1717] Building X86GenAsmWriter1.inc...
32.861 [2126/36/1718] Building X86GenRegisterBank.inc...
32.876 [2126/35/1719] Building CXX object lib/Target/SystemZ/AsmParser/CMakeFiles/LLVMSystemZAsmParser.dir/SystemZAsmParser.cpp.o
32.985 [2126/34/1720] Building X86GenRegisterInfo.inc...
33.037 [2126/33/1721] Building X86GenDisassemblerTables.inc...
33.406 [2126/32/1722] Building X86GenAsmMatcher.inc...
33.537 [2126/31/1723] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /b/ml-opt-rel-x86-64-b1/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /b/ml-opt-rel-x86-64-b1/build/lib/Target/RISCV && /b/ml-opt-rel-x86-64-b1/build/bin/llvm-tblgen -gen-subtarget -I /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Target/RISCV -I/var/lib/buildbot/.local/lib/python3.7/site-packages/tensorflow/include -I/b/ml-opt-rel-x86-64-b1/build/include -I/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/include -I /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Target /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /usr/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /b/ml-opt-rel-x86-64-b1/llvm-project/llvm /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Target/RISCV /b/ml-opt-rel-x86-64-b1/build /b/ml-opt-rel-x86-64-b1/build/lib/Target/RISCV /b/ml-opt-rel-x86-64-b1/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /b/ml-opt-rel-x86-64-b1/build/CMakeFiles/d/528c4a0a29196eeadf7af497fd38a8c95b469e50aa5e0b9eeba29e508cc2c496.d
Included from /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
33.949 [2126/30/1724] Building X86GenInstrMapping.inc...
33.965 [2126/29/1725] Building X86GenMnemonicTables.inc...
34.880 [2126/28/1726] Building X86GenFoldTables.inc...
37.025 [2126/27/1727] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
37.952 [2126/26/1728] Building X86GenFastISel.inc...
39.080 [2126/25/1729] Building X86GenGlobalISel.inc...
41.355 [2126/24/1730] Building X86GenDAGISel.inc...
41.415 [2126/23/1731] Building AArch64GenSubtargetInfo.inc...
41.487 [2126/22/1732] Building X86GenSubtargetInfo.inc...
42.869 [2126/21/1733] Building AArch64GenInstrInfo.inc...
44.839 [2126/20/1734] Building AMDGPUGenRegBankGICombiner.inc...
44.844 [2126/19/1735] Building AMDGPUGenPreLegalizeGICombiner.inc...
45.973 [2126/18/1736] Building AMDGPUGenMCPseudoLowering.inc...
46.453 [2126/17/1737] Building X86GenInstrInfo.inc...
47.735 [2126/16/1738] Building AMDGPUGenPostLegalizeGICombiner.inc...
48.257 [2126/15/1739] Building RISCVGenInstrInfo.inc...
48.526 [2126/14/1740] Building RISCVGenGlobalISel.inc...
48.737 [2126/13/1741] Building AMDGPUGenMCCodeEmitter.inc...
49.013 [2126/12/1742] Building AMDGPUGenCallingConv.inc...
49.024 [2126/11/1743] Building AMDGPUGenSubtargetInfo.inc...
49.034 [2126/10/1744] Building AMDGPUGenDisassemblerTables.inc...
49.802 [2126/9/1745] Building AMDGPUGenSearchableTables.inc...
51.940 [2126/8/1746] Building AMDGPUGenAsmWriter.inc...
52.416 [2126/7/1747] Building RISCVGenDAGISel.inc...
53.028 [2126/6/1748] Building AMDGPUGenGlobalISel.inc...
55.210 [2126/5/1749] Building AMDGPUGenAsmMatcher.inc...
56.927 [2126/4/1750] Building AMDGPUGenDAGISel.inc...
58.391 [2126/3/1751] Building AMDGPUGenInstrInfo.inc...
58.863 [2126/2/1752] Building AMDGPUGenRegisterBank.inc...
61.082 [2126/1/1753] Building AMDGPUGenRegisterInfo.inc...
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-dev-x86-64 running on ml-opt-dev-x86-64-b2 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/137/builds/18875

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
37.729 [954/64/2829] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZFrameLowering.cpp.o
37.737 [953/64/2830] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZHazardRecognizer.cpp.o
37.741 [952/64/2831] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZISelDAGToDAG.cpp.o
37.749 [951/64/2832] Linking CXX static library lib/libLLVMHexagonDisassembler.a
37.765 [950/64/2833] Linking CXX static library lib/libLLVMLanaiDisassembler.a
37.785 [949/64/2834] Linking CXX static library lib/libLLVMLoongArchDisassembler.a
37.797 [948/64/2835] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZISelLowering.cpp.o
37.829 [947/64/2836] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZInstrInfo.cpp.o
37.837 [946/64/2837] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZMachineFunctionInfo.cpp.o
37.845 [945/64/2838] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /b/ml-opt-dev-x86-64-b1/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /b/ml-opt-dev-x86-64-b1/build/lib/Target/RISCV && /b/ml-opt-dev-x86-64-b1/build/bin/llvm-tblgen -gen-subtarget -I /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Target/RISCV -I/b/ml-opt-dev-x86-64-b1/build/include -I/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/include -I /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Target /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /usr/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /b/ml-opt-dev-x86-64-b1/llvm-project/llvm /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Target/RISCV /b/ml-opt-dev-x86-64-b1/build /b/ml-opt-dev-x86-64-b1/build/lib/Target/RISCV /b/ml-opt-dev-x86-64-b1/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /b/ml-opt-dev-x86-64-b1/build/CMakeFiles/d/89346fbd4c0aa08a8e11ec5a0160aaf3ee025d4d960bc1394391c54da534554b.d
Included from /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
37.846 [945/63/2839] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZLDCleanup.cpp.o
37.846 [945/62/2840] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZLongBranch.cpp.o
37.847 [945/61/2841] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZMachineScheduler.cpp.o
37.848 [945/60/2842] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZMCInstLower.cpp.o
37.848 [945/59/2843] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZPostRewrite.cpp.o
37.849 [945/58/2844] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZRegisterInfo.cpp.o
37.849 [945/57/2845] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZSelectionDAGInfo.cpp.o
37.850 [945/56/2846] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZShortenInst.cpp.o
37.850 [945/55/2847] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZSubtarget.cpp.o
37.851 [945/54/2848] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZTargetMachine.cpp.o
37.851 [945/53/2849] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZTargetObjectFile.cpp.o
37.852 [945/52/2850] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZTargetTransformInfo.cpp.o
37.853 [945/51/2851] Building CXX object lib/Target/SystemZ/CMakeFiles/LLVMSystemZCodeGen.dir/SystemZTDC.cpp.o
37.853 [945/50/2852] Building CXX object lib/Target/SystemZ/AsmParser/CMakeFiles/LLVMSystemZAsmParser.dir/SystemZAsmParser.cpp.o
37.853 [945/49/2853] Building CXX object lib/Target/SystemZ/Disassembler/CMakeFiles/LLVMSystemZDisassembler.dir/SystemZDisassembler.cpp.o
37.854 [945/48/2854] Building CXX object lib/Target/SystemZ/MCTargetDesc/CMakeFiles/LLVMSystemZDesc.dir/SystemZELFObjectWriter.cpp.o
37.854 [945/47/2855] Building CXX object lib/Target/SystemZ/MCTargetDesc/CMakeFiles/LLVMSystemZDesc.dir/SystemZGNUInstPrinter.cpp.o
37.854 [945/46/2856] Building CXX object lib/Target/SystemZ/MCTargetDesc/CMakeFiles/LLVMSystemZDesc.dir/SystemZGOFFObjectWriter.cpp.o
37.855 [945/45/2857] Building CXX object lib/Target/SystemZ/MCTargetDesc/CMakeFiles/LLVMSystemZDesc.dir/SystemZHLASMAsmStreamer.cpp.o
37.855 [945/44/2858] Building CXX object lib/Target/SystemZ/MCTargetDesc/CMakeFiles/LLVMSystemZDesc.dir/SystemZHLASMInstPrinter.cpp.o
37.855 [945/43/2859] Building CXX object lib/Target/SystemZ/MCTargetDesc/CMakeFiles/LLVMSystemZDesc.dir/SystemZInstPrinterCommon.cpp.o
37.856 [945/42/2860] Building CXX object lib/Target/SystemZ/MCTargetDesc/CMakeFiles/LLVMSystemZDesc.dir/SystemZMCAsmBackend.cpp.o
37.865 [945/41/2861] Building CXX object lib/Target/SystemZ/MCTargetDesc/CMakeFiles/LLVMSystemZDesc.dir/SystemZMCAsmInfo.cpp.o
37.885 [945/40/2862] Building CXX object lib/Target/SystemZ/MCTargetDesc/CMakeFiles/LLVMSystemZDesc.dir/SystemZMCCodeEmitter.cpp.o
38.240 [945/39/2863] Building X86GenRegisterInfo.inc...
38.548 [945/38/2864] Building X86GenExegesis.inc...
38.720 [945/37/2865] Building X86GenDisassemblerTables.inc...
39.788 [945/36/2866] Building X86GenAsmWriter.inc...
39.896 [945/35/2867] Building X86GenRegisterBank.inc...
40.040 [945/34/2868] Building X86GenAsmWriter1.inc...
40.208 [945/33/2869] Building X86GenMnemonicTables.inc...
40.657 [945/32/2870] Building X86GenInstrMapping.inc...
40.772 [945/31/2871] Building X86GenAsmMatcher.inc...

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder premerge-monolithic-linux running on premerge-linux-1 while building llvm at step 6 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/32328

Here is the relevant piece of the build log for the reference
Step 6 (build-unified-tree) failure: build (failure)
...
2.286 [4568/16/56] Building RISCVGenPostLegalizeGICombiner.inc...
2.312 [4568/15/57] Building RISCVGenPreLegalizeGICombiner.inc...
2.332 [4568/14/58] Building RISCVGenO0PreLegalizeGICombiner.inc...
2.335 [4568/13/59] Building RISCVGenMCCodeEmitter.inc...
2.357 [4568/12/60] Building RISCVGenDisassemblerTables.inc...
2.482 [4568/11/61] Building RISCVGenAsmWriter.inc...
2.509 [4568/10/62] Building RISCVGenAsmMatcher.inc...
2.570 [4568/9/63] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Version.cpp.o
3.033 [4568/8/64] Building RISCVGenSearchableTables.inc...
3.085 [4568/7/65] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /build/buildbot/premerge-monolithic-linux/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /build/buildbot/premerge-monolithic-linux/build/lib/Target/RISCV && /build/buildbot/premerge-monolithic-linux/build/bin/llvm-tblgen -gen-subtarget -I /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Target/RISCV -I/build/buildbot/premerge-monolithic-linux/build/include -I/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/include -I /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Target /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /etc/cmake/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /build/buildbot/premerge-monolithic-linux/llvm-project/llvm /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Target/RISCV /build/buildbot/premerge-monolithic-linux/build /build/buildbot/premerge-monolithic-linux/build/lib/Target/RISCV /build/buildbot/premerge-monolithic-linux/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /build/buildbot/premerge-monolithic-linux/build/CMakeFiles/d/f186299d875ca417319cf22009b5eb814bdb6d13352e2fc987a2ca36bd43fb05.d
Included from /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
4.591 [4568/6/66] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
7.689 [4568/5/67] Building RISCVGenInstrInfo.inc...
9.243 [4568/4/68] Building RISCVGenGlobalISel.inc...
11.120 [4568/3/69] Building RISCVGenDAGISel.inc...
13.289 [4568/2/70] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
14.332 [4568/1/71] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder lld-x86_64-ubuntu-fast running on as-builder-4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/33/builds/16808

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
14.123 [879/38/3060] Linking CXX static library lib/libLLVMSystemZDesc.a
14.143 [878/38/3061] Linking CXX static library lib/libLLVMSystemZDisassembler.a
14.285 [878/37/3062] Building RISCVGenSearchableTables.inc...
14.613 [878/36/3063] Building X86GenMnemonicTables.inc...
14.744 [878/35/3064] Building X86GenAsmWriter.inc...
14.807 [878/34/3065] Building X86GenAsmWriter1.inc...
14.951 [878/33/3066] Building X86GenInstrMapping.inc...
15.010 [878/32/3067] Building X86GenRegisterBank.inc...
15.018 [878/31/3068] Building X86GenGlobalISel.inc...
15.059 [878/30/3069] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/lib/Target/RISCV && /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-tblgen -gen-subtarget -I /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Target/RISCV -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/include -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/include -I /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Target /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc
Included from /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
15.231 [878/29/3070] Building X86GenAsmMatcher.inc...
15.744 [878/28/3071] Building X86GenDisassemblerTables.inc...
15.921 [878/27/3072] Building X86GenDAGISel.inc...
17.223 [878/26/3073] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
19.056 [878/25/3074] Building AArch64GenSubtargetInfo.inc...
19.096 [878/24/3075] Building X86GenSubtargetInfo.inc...
19.733 [878/23/3076] Building AArch64GenInstrInfo.inc...
21.270 [878/22/3077] Building RISCVGenInstrInfo.inc...
21.522 [878/21/3078] Building X86GenInstrInfo.inc...
21.795 [878/20/3079] Building AMDGPUGenMCPseudoLowering.inc...
22.771 [878/19/3080] Building AMDGPUGenPreLegalizeGICombiner.inc...
22.992 [878/18/3081] Building AMDGPUGenPostLegalizeGICombiner.inc...
23.027 [878/17/3082] Building AMDGPUGenRegBankGICombiner.inc...
23.812 [878/16/3083] Building AMDGPUGenDisassemblerTables.inc...
23.852 [878/15/3084] Building RISCVGenGlobalISel.inc...
24.218 [878/14/3085] Building AMDGPUGenSubtargetInfo.inc...
24.267 [878/13/3086] Building AMDGPUGenMCCodeEmitter.inc...
24.374 [878/12/3087] Building AMDGPUGenSearchableTables.inc...
24.626 [878/11/3088] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
25.476 [878/10/3089] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
25.574 [878/9/3090] Building AMDGPUGenCallingConv.inc...
27.974 [878/8/3091] Building RISCVGenDAGISel.inc...
28.181 [878/7/3092] Building AMDGPUGenAsmWriter.inc...
28.975 [878/6/3093] Building AMDGPUGenGlobalISel.inc...
29.054 [878/5/3094] Building AMDGPUGenAsmMatcher.inc...
29.587 [878/4/3095] Building AMDGPUGenDAGISel.inc...
31.055 [878/3/3096] Building AMDGPUGenInstrInfo.inc...
32.923 [878/2/3097] Building AMDGPUGenRegisterBank.inc...
33.788 [878/1/3098] Building AMDGPUGenRegisterInfo.inc...
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder llvm-x86_64-debian-dylib running on gribozavr4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/60/builds/27949

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
6.864 [2924/43/4368] Building X86GenRegisterBank.inc...
6.872 [2924/42/4369] Building X86GenCallingConv.inc...
6.881 [2924/41/4370] Building X86GenRegisterInfo.inc...
6.968 [2924/40/4371] Building X86GenExegesis.inc...
7.117 [2924/39/4372] Building X86GenMnemonicTables.inc...
7.164 [2924/38/4373] Building X86GenDisassemblerTables.inc...
7.267 [2924/37/4374] Building X86GenInstrMapping.inc...
7.446 [2924/36/4375] Building X86GenAsmWriter.inc...
7.607 [2924/35/4376] Building X86GenAsmMatcher.inc...
7.650 [2924/34/4377] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /b/1/llvm-x86_64-debian-dylib/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /b/1/llvm-x86_64-debian-dylib/build/lib/Target/RISCV && /b/1/llvm-x86_64-debian-dylib/build/bin/llvm-tblgen -gen-subtarget -I /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Target/RISCV -I/b/1/llvm-x86_64-debian-dylib/build/include -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include -I /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Target /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /opt/cmake-3.25.1-linux-x86_64/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Target/RISCV /b/1/llvm-x86_64-debian-dylib/build /b/1/llvm-x86_64-debian-dylib/build/lib/Target/RISCV /b/1/llvm-x86_64-debian-dylib/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /b/1/llvm-x86_64-debian-dylib/build/CMakeFiles/d/7708b50998a81cb66de5e224fef599fb1012e6be6c2ab0d44c80abdb415f4faf.d
Included from /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
7.696 [2924/33/4378] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
7.738 [2924/32/4379] Building X86GenAsmWriter1.inc...
8.146 [2924/31/4380] Building X86GenFoldTables.inc...
8.954 [2924/30/4381] Building X86GenFastISel.inc...
9.155 [2924/29/4382] Building X86GenGlobalISel.inc...
9.850 [2924/28/4383] Building X86GenSubtargetInfo.inc...
9.970 [2924/27/4384] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/HIPUtility.cpp.o
10.001 [2924/26/4385] Building AArch64GenSubtargetInfo.inc...
10.321 [2924/25/4386] Building X86GenDAGISel.inc...
11.031 [2924/24/4387] Building AArch64GenInstrInfo.inc...
11.754 [2924/23/4388] Building X86GenInstrInfo.inc...
11.908 [2924/22/4389] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
12.337 [2924/21/4390] Building RISCVGenInstrInfo.inc...
13.282 [2924/20/4391] Building AMDGPUGenMCPseudoLowering.inc...
13.473 [2924/19/4392] Building RISCVGenGlobalISel.inc...
14.547 [2924/18/4393] Building AMDGPUGenPostLegalizeGICombiner.inc...
14.639 [2924/17/4394] Building AMDGPUGenDisassemblerTables.inc...
14.714 [2924/16/4395] Building AMDGPUGenPreLegalizeGICombiner.inc...
14.739 [2924/15/4396] Building AMDGPUGenRegBankGICombiner.inc...
14.858 [2924/14/4397] Building AMDGPUGenMCCodeEmitter.inc...
15.024 [2924/13/4398] Building AMDGPUGenSubtargetInfo.inc...
15.816 [2924/12/4399] Building AMDGPUGenSearchableTables.inc...
16.315 [2924/11/4400] Building RISCVGenDAGISel.inc...
17.198 [2924/10/4401] Building AMDGPUGenCallingConv.inc...
17.200 [2924/9/4402] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
18.731 [2924/8/4403] Building AMDGPUGenAsmWriter.inc...
19.278 [2924/7/4404] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
19.808 [2924/6/4405] Building AMDGPUGenGlobalISel.inc...
19.911 [2924/5/4406] Building AMDGPUGenDAGISel.inc...
20.220 [2924/4/4407] Building AMDGPUGenAsmMatcher.inc...
20.740 [2924/3/4408] Building AMDGPUGenInstrInfo.inc...
21.706 [2924/2/4409] Building AMDGPUGenRegisterBank.inc...
23.576 [2924/1/4410] Building AMDGPUGenRegisterInfo.inc...

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-expensive-checks-debian running on gribozavr4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/16/builds/19313

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
7.368 [1036/42/3064] Building X86GenRegisterInfo.inc...
7.522 [1036/41/3065] Building X86GenMnemonicTables.inc...
7.618 [1036/40/3066] Building RISCVGenSearchableTables.inc...
7.818 [1036/39/3067] Building X86GenInstrMapping.inc...
7.822 [1036/38/3068] Building AArch64GenAsmMatcher.inc...
7.852 [1036/37/3069] Building X86GenAsmWriter1.inc...
7.878 [1036/36/3070] Building X86GenAsmWriter.inc...
7.882 [1036/35/3071] Building X86GenDisassemblerTables.inc...
7.884 [1036/34/3072] Building X86GenFoldTables.inc...
7.992 [1036/33/3073] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /b/1/llvm-clang-x86_64-expensive-checks-debian/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /b/1/llvm-clang-x86_64-expensive-checks-debian/build/lib/Target/RISCV && /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-tblgen -gen-subtarget -I /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Target/RISCV -I/b/1/llvm-clang-x86_64-expensive-checks-debian/build/include -I/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include -I /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Target /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /opt/cmake-3.25.1-linux-x86_64/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Target/RISCV /b/1/llvm-clang-x86_64-expensive-checks-debian/build /b/1/llvm-clang-x86_64-expensive-checks-debian/build/lib/Target/RISCV /b/1/llvm-clang-x86_64-expensive-checks-debian/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /b/1/llvm-clang-x86_64-expensive-checks-debian/build/CMakeFiles/d/13bf033a04e0b0290224d80449acb273d8566ada850edcd8275b611bad38ecbf.d
Included from /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
8.052 [1036/32/3074] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
8.388 [1036/31/3075] Building OCaml documentation for llvm
9.343 [1036/30/3076] Building X86GenFastISel.inc...
9.951 [1036/29/3077] Building X86GenGlobalISel.inc...
9.956 [1036/28/3078] Building AArch64GenSubtargetInfo.inc...
10.489 [1036/27/3079] Building X86GenSubtargetInfo.inc...
10.765 [1036/26/3080] Building X86GenDAGISel.inc...
11.895 [1036/25/3081] Building AArch64GenInstrInfo.inc...
12.103 [1036/24/3082] Building X86GenInstrInfo.inc...
12.590 [1036/23/3083] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
12.883 [1036/22/3084] Building RISCVGenInstrInfo.inc...
13.217 [1036/21/3085] Building AMDGPUGenMCPseudoLowering.inc...
14.144 [1036/20/3086] Building RISCVGenGlobalISel.inc...
14.328 [1036/19/3087] Building AMDGPUGenRegBankGICombiner.inc...
14.432 [1036/18/3088] Building AMDGPUGenPostLegalizeGICombiner.inc...
14.503 [1036/17/3089] Building AMDGPUGenPreLegalizeGICombiner.inc...
14.887 [1036/16/3090] Building AMDGPUGenSubtargetInfo.inc...
14.981 [1036/15/3091] Building AMDGPUGenDisassemblerTables.inc...
14.989 [1036/14/3092] Building AMDGPUGenMCCodeEmitter.inc...
16.235 [1036/13/3093] Building AMDGPUGenSearchableTables.inc...
16.331 [1036/12/3094] Building RISCVGenDAGISel.inc...
17.488 [1036/11/3095] Building AMDGPUGenCallingConv.inc...
18.648 [1036/10/3096] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
19.352 [1036/9/3097] Building AMDGPUGenAsmWriter.inc...
20.660 [1036/8/3098] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
21.317 [1036/7/3099] Building AMDGPUGenGlobalISel.inc...
21.387 [1036/6/3100] Building AMDGPUGenDAGISel.inc...
22.051 [1036/5/3101] Building X86GenAsmMatcher.inc...
23.047 [1036/4/3102] Building AMDGPUGenInstrInfo.inc...
23.807 [1036/3/3103] Building AMDGPUGenRegisterBank.inc...
24.857 [1036/2/3104] Building AMDGPUGenRegisterInfo.inc...
33.786 [1036/1/3105] Building AMDGPUGenAsmMatcher.inc...
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder clang-x86_64-debian-fast running on gribozavr4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/56/builds/26335

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
             ^~~~
             IvarName
16 warnings generated.
7.288 [1185/46/5046] Linking CXX executable bin/llvm-stress
7.525 [1185/45/5047] Building X86GenExegesis.inc...
7.526 [1185/44/5048] Building X86GenRegisterBank.inc...
7.731 [1185/43/5049] Building X86GenRegisterInfo.inc...
7.789 [1185/42/5050] Building X86GenCallingConv.inc...
7.803 [1185/41/5051] Building X86GenMnemonicTables.inc...
7.886 [1185/40/5052] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /b/1/clang-x86_64-debian-fast/llvm.obj/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /b/1/clang-x86_64-debian-fast/llvm.obj/lib/Target/RISCV && /b/1/clang-x86_64-debian-fast/llvm.obj/bin/llvm-tblgen -gen-subtarget -I /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Target/RISCV -I/b/1/clang-x86_64-debian-fast/llvm.obj/include -I/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include -I /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Target /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o RISCVGenSubtargetInfo.inc -d RISCVGenSubtargetInfo.inc.d && /opt/cmake-3.25.1-linux-x86_64/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /b/1/clang-x86_64-debian-fast/llvm.src/llvm /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Target/RISCV /b/1/clang-x86_64-debian-fast/llvm.obj /b/1/clang-x86_64-debian-fast/llvm.obj/lib/Target/RISCV /b/1/clang-x86_64-debian-fast/llvm.obj/lib/Target/RISCV/RISCVGenSubtargetInfo.inc.d /b/1/clang-x86_64-debian-fast/llvm.obj/CMakeFiles/d/31403607ad2123dda3d6a65d00e93f7345cfecdad34ddf9a5338bd7a5bea0963.d
Included from /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Target/RISCV/RISCV.td:61:
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
7.972 [1185/39/5053] Building RISCVGenSearchableTables.inc...
8.045 [1185/38/5054] Building X86GenInstrMapping.inc...
8.107 [1185/37/5055] Building X86GenAsmWriter.inc...
8.317 [1185/36/5056] Building X86GenAsmWriter1.inc...
8.368 [1185/35/5057] Building X86GenDisassemblerTables.inc...
8.376 [1185/34/5058] Building X86GenFoldTables.inc...
8.486 [1185/33/5059] Building X86GenAsmMatcher.inc...
8.638 [1185/32/5060] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
8.639 [1185/31/5061] Building OCaml documentation for llvm
9.970 [1185/30/5062] Building X86GenGlobalISel.inc...
10.048 [1185/29/5063] Building X86GenFastISel.inc...
10.801 [1185/28/5064] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/HIPUtility.cpp.o
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/lib/Driver/ToolChains/HIPUtility.cpp:10:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/lib/Driver/ToolChains/Clang.h:12:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/lib/Driver/ToolChains/MSVC.h:12:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/lib/Driver/ToolChains/AMDGPU.h:12:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/lib/Driver/ToolChains/Gnu.h:14:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/lib/Driver/ToolChains/ROCm.h:14:
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Driver/Driver.h:781:19: warning: parameter 'Search' not found in the function declaration [-Wdocumentation]
  /// \param [in] Search and expansion options.
                  ^~~~~~
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Driver/Driver.h:781:19: note: did you mean 'ExpCtx'?
  /// \param [in] Search and expansion options.
                  ^~~~~~
                  ExpCtx
1 warning generated.
11.391 [1185/27/5065] Building X86GenSubtargetInfo.inc...
11.533 [1185/26/5066] Building AArch64GenSubtargetInfo.inc...
11.644 [1185/25/5067] Building X86GenDAGISel.inc...
11.985 [1185/24/5068] Building AArch64GenInstrInfo.inc...
12.734 [1185/23/5069] Building X86GenInstrInfo.inc...
12.766 [1185/22/5070] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/MC/MCParser/AsmParser.cpp:45:

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 20, 2025

LLVM Buildbot has detected a new failure on builder bolt-x86_64-ubuntu-nfc running on bolt-worker while building llvm at step 7 "build-bolt".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/92/builds/19111

Here is the relevant piece of the build log for the reference
Step 7 (build-bolt) failure: build (failure)
...
5.967 [149/14/33] Building RISCVGenCompressInstEmitter.inc...
6.132 [149/13/34] Building RISCVGenAsmWriter.inc...
6.356 [149/12/35] Building RISCVGenSearchableTables.inc...
6.498 [149/11/36] Building RISCVGenMCCodeEmitter.inc...
6.710 [149/10/37] Building RISCVGenPostLegalizeGICombiner.inc...
6.788 [149/9/38] Building CXX object tools/bolt/lib/Utils/CMakeFiles/LLVMBOLTUtils.dir/CommandLineOpts.cpp.o
6.827 [148/9/39] Linking CXX static library lib/libLLVMBOLTUtils.a
7.038 [148/8/40] Building RISCVGenPreLegalizeGICombiner.inc...
7.199 [148/7/41] Building RISCVGenRegisterInfo.inc...
8.038 [148/6/42] Building RISCVGenSubtargetInfo.inc...
FAILED: lib/Target/RISCV/RISCVGenSubtargetInfo.inc /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc 
cd /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/build/lib/Target/RISCV && /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/build/bin/llvm-tblgen -gen-subtarget -I /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Target/RISCV -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/build/include -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/include -I /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Target /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Target/RISCV/RISCV.td --write-if-changed -o /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/build/lib/Target/RISCV/RISCVGenSubtargetInfo.inc
Included from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Target/RISCV/RISCV.td:61:
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td:61:5: error: Processor does not define resources for WriteFAdd128
def SiFiveP800Model : SchedMachineModel {
    ^
9.159 [148/5/43] Building AArch64GenSubtargetInfo.inc...
9.892 [148/4/44] Building AArch64GenInstrInfo.inc...
10.874 [68/3/45] Building RISCVGenInstrInfo.inc...
12.941 [68/2/46] Building RISCVGenGlobalISel.inc...
14.816 [68/1/47] Building RISCVGenDAGISel.inc...
ninja: build stopped: subcommand failed.

kostasalv pushed a commit to kostasalv/llvm-project that referenced this pull request May 21, 2025
The scheduling model for SiFive P800 series cores. They have 6 integer
pipes, 2 floating point pipes, and 2 vector pipes.

https://chipsandcheese.com/p/hot-chips-2023-sifives-p870-takes-risc-v-further

The tests are meant to have the same coverage as its P600 counterpart.
sivan-shani pushed a commit to sivan-shani/llvm-project that referenced this pull request Jun 3, 2025
The scheduling model for SiFive P800 series cores. They have 6 integer
pipes, 2 floating point pipes, and 2 vector pipes.

https://chipsandcheese.com/p/hot-chips-2023-sifives-p870-takes-risc-v-further

The tests are meant to have the same coverage as its P600 counterpart.
ajaden-codes pushed a commit to Jaddyen/llvm-project that referenced this pull request Jun 6, 2025
The scheduling model for SiFive P800 series cores. They have 6 integer
pipes, 2 floating point pipes, and 2 vector pipes.

https://chipsandcheese.com/p/hot-chips-2023-sifives-p870-takes-risc-v-further

The tests are meant to have the same coverage as its P600 counterpart.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants