From 37daa1971ac56cb9ae858ef11ce1c3f8fb26619c Mon Sep 17 00:00:00 2001 From: Michael Maitland Date: Wed, 2 Oct 2024 09:47:38 -0700 Subject: [PATCH] fixup! remove multiple render defs --- llvm/lib/Target/RISCV/RISCVGISel.td | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/llvm/lib/Target/RISCV/RISCVGISel.td b/llvm/lib/Target/RISCV/RISCVGISel.td index 48fc8425da81a4..e15c56eaaa5b9e 100644 --- a/llvm/lib/Target/RISCV/RISCVGISel.td +++ b/llvm/lib/Target/RISCV/RISCVGISel.td @@ -50,10 +50,13 @@ def GIAddrRegImm : GIComplexOperandMatcher, GIComplexPatternEquiv; -def GIVLOpS32 : GIComplexOperandMatcher, - GIComplexPatternEquiv; -def GIVLOpS64 : GIComplexOperandMatcher, - GIComplexPatternEquiv; +// FIXME: This is labelled as handling 's32', however the ComplexPattern it +// refers to handles both i32 and i64 based on the HwMode. Currently this LLT +// parameter appears to be ignored so this pattern works for both, however we +// should add a LowLevelTypeByHwMode, and use that to define our XLenLLT instead +// here. +def GIVLOp : GIComplexOperandMatcher, + GIComplexPatternEquiv; // Convert from i32 immediate to i64 target immediate to make SelectionDAG type // checking happy so we can use ADDIW which expects an XLen immediate.