Skip to content

Commit 38b0e1c

Browse files
committed
[RISCV][GISel] Add legalizer-info-validation test. NFC
Based on the same test from AArch64. I used a reasonable superset ISA string to get the most coverage. Might be worth adding more RUN lines in the future.
1 parent 10b80ff commit 38b0e1c

File tree

2 files changed

+872
-4
lines changed

2 files changed

+872
-4
lines changed

llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
158158
getActionDefinitionsBuilder({G_UADDSAT, G_SADDSAT, G_USUBSAT, G_SSUBSAT})
159159
.lower();
160160

161-
getActionDefinitionsBuilder({G_ASHR, G_LSHR, G_SHL})
161+
getActionDefinitionsBuilder({G_SHL, G_ASHR, G_LSHR})
162162
.legalFor({{s32, s32}, {sXLen, sXLen}})
163163
.widenScalarToNextPow2(0)
164164
.clampScalar(1, s32, sXLen)
@@ -202,7 +202,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
202202

203203
getActionDefinitionsBuilder({G_FSHL, G_FSHR}).lower();
204204

205-
getActionDefinitionsBuilder({G_ROTL, G_ROTR})
205+
getActionDefinitionsBuilder({G_ROTR, G_ROTL})
206206
.legalFor(ST.hasStdExtZbb() || ST.hasStdExtZbkb(), {{sXLen, sXLen}})
207207
.customFor(ST.is64Bit() && (ST.hasStdExtZbb() || ST.hasStdExtZbkb()),
208208
{{s32, s32}})
@@ -456,7 +456,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
456456
}
457457

458458
if (ST.hasStdExtM()) {
459-
getActionDefinitionsBuilder({G_UDIV, G_SDIV, G_UREM})
459+
getActionDefinitionsBuilder({G_SDIV, G_UDIV, G_UREM})
460460
.legalFor({sXLen})
461461
.customFor({s32})
462462
.libcallFor({sDoubleXLen})
@@ -475,7 +475,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
475475
}
476476

477477
// TODO: Use libcall for sDoubleXLen.
478-
getActionDefinitionsBuilder({G_UDIVREM, G_SDIVREM}).lower();
478+
getActionDefinitionsBuilder({G_SDIVREM, G_UDIVREM}).lower();
479479

480480
getActionDefinitionsBuilder(G_ABS)
481481
.customFor(ST.hasStdExtZbb(), {sXLen})
@@ -632,6 +632,7 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
632632
typeIsLegalIntOrFPVec(1, IntOrFPVecTys, ST)));
633633

634634
getLegacyLegalizerInfo().computeTables();
635+
verify(*ST.getInstrInfo());
635636
}
636637

637638
bool RISCVLegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,

0 commit comments

Comments
 (0)