Skip to content

Commit 55e5e74

Browse files
authored
[RISCV] Remove some unnecessary hasSideEffects = 0 and sink some to their base class. NFC (llvm#131044)
Some of these were already present in their base class and therefore redundant. Others were missing from their base classes. Maybe leftover from when VXRM was modeled with side effects?
1 parent d1deaed commit 55e5e74

File tree

1 file changed

+11
-23
lines changed

1 file changed

+11
-23
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1238,6 +1238,7 @@ class VPseudoBinaryNoMaskRoundingMode<VReg RetClass,
12381238
RISCVVPseudo {
12391239
let mayLoad = 0;
12401240
let mayStore = 0;
1241+
let hasSideEffects = 0;
12411242
let Constraints = !interleave([Constraint, "$rd = $passthru"], ",");
12421243
let TargetOverlapConstraintType = TargetConstraintType;
12431244
let HasVLOp = 1;
@@ -1262,6 +1263,7 @@ class VPseudoBinaryMaskPolicyRoundingMode<VReg RetClass,
12621263
RISCVVPseudo {
12631264
let mayLoad = 0;
12641265
let mayStore = 0;
1266+
let hasSideEffects = 0;
12651267
let Constraints = !interleave([Constraint, "$rd = $passthru"], ",");
12661268
let TargetOverlapConstraintType = TargetConstraintType;
12671269
let HasVLOp = 1;
@@ -6405,7 +6407,7 @@ defm PseudoVFRSUB : VPseudoVALU_VF_RM;
64056407
//===----------------------------------------------------------------------===//
64066408
// 13.3. Vector Widening Floating-Point Add/Subtract Instructions
64076409
//===----------------------------------------------------------------------===//
6408-
let mayRaiseFPException = true, hasSideEffects = 0 in {
6410+
let mayRaiseFPException = true in {
64096411
defm PseudoVFWADD : VPseudoVFWALU_VV_VF_RM;
64106412
defm PseudoVFWSUB : VPseudoVFWALU_VV_VF_RM;
64116413
defm PseudoVFWADD : VPseudoVFWALU_WV_WF_RM;
@@ -6415,7 +6417,7 @@ defm PseudoVFWSUB : VPseudoVFWALU_WV_WF_RM;
64156417
//===----------------------------------------------------------------------===//
64166418
// 13.4. Vector Single-Width Floating-Point Multiply/Divide Instructions
64176419
//===----------------------------------------------------------------------===//
6418-
let mayRaiseFPException = true, hasSideEffects = 0 in {
6420+
let mayRaiseFPException = true in {
64196421
defm PseudoVFMUL : VPseudoVFMUL_VV_VF_RM;
64206422
defm PseudoVFDIV : VPseudoVFDIV_VV_VF_RM;
64216423
defm PseudoVFRDIV : VPseudoVFRDIV_VF_RM;
@@ -6424,14 +6426,14 @@ defm PseudoVFRDIV : VPseudoVFRDIV_VF_RM;
64246426
//===----------------------------------------------------------------------===//
64256427
// 13.5. Vector Widening Floating-Point Multiply
64266428
//===----------------------------------------------------------------------===//
6427-
let mayRaiseFPException = true, hasSideEffects = 0 in {
6429+
let mayRaiseFPException = true in {
64286430
defm PseudoVFWMUL : VPseudoVWMUL_VV_VF_RM;
64296431
}
64306432

64316433
//===----------------------------------------------------------------------===//
64326434
// 13.6. Vector Single-Width Floating-Point Fused Multiply-Add Instructions
64336435
//===----------------------------------------------------------------------===//
6434-
let mayRaiseFPException = true, hasSideEffects = 0 in {
6436+
let mayRaiseFPException = true in {
64356437
defm PseudoVFMACC : VPseudoVMAC_VV_VF_AAXA_RM;
64366438
defm PseudoVFNMACC : VPseudoVMAC_VV_VF_AAXA_RM;
64376439
defm PseudoVFMSAC : VPseudoVMAC_VV_VF_AAXA_RM;
@@ -6445,7 +6447,7 @@ defm PseudoVFNMSUB : VPseudoVMAC_VV_VF_AAXA_RM;
64456447
//===----------------------------------------------------------------------===//
64466448
// 13.7. Vector Widening Floating-Point Fused Multiply-Add Instructions
64476449
//===----------------------------------------------------------------------===//
6448-
let mayRaiseFPException = true, hasSideEffects = 0 in {
6450+
let mayRaiseFPException = true in {
64496451
defm PseudoVFWMACC : VPseudoVWMAC_VV_VF_RM;
64506452
defm PseudoVFWNMACC : VPseudoVWMAC_VV_VF_RM;
64516453
defm PseudoVFWMSAC : VPseudoVWMAC_VV_VF_RM;
@@ -6457,7 +6459,7 @@ defm PseudoVFWMACCBF16 : VPseudoVWMAC_VV_VF_BF_RM;
64576459
//===----------------------------------------------------------------------===//
64586460
// 13.8. Vector Floating-Point Square-Root Instruction
64596461
//===----------------------------------------------------------------------===//
6460-
let mayRaiseFPException = true, hasSideEffects = 0 in
6462+
let mayRaiseFPException = true in
64616463
defm PseudoVFSQRT : VPseudoVSQR_V_RM;
64626464

64636465
//===----------------------------------------------------------------------===//
@@ -6469,7 +6471,7 @@ defm PseudoVFRSQRT7 : VPseudoVRCP_V;
64696471
//===----------------------------------------------------------------------===//
64706472
// 13.10. Vector Floating-Point Reciprocal Estimate Instruction
64716473
//===----------------------------------------------------------------------===//
6472-
let mayRaiseFPException = true, hasSideEffects = 0 in
6474+
let mayRaiseFPException = true in
64736475
defm PseudoVFREC7 : VPseudoVRCP_V_RM;
64746476

64756477
//===----------------------------------------------------------------------===//
@@ -6519,29 +6521,23 @@ defm PseudoVFMV_V : VPseudoVMV_F;
65196521
// 13.17. Single-Width Floating-Point/Integer Type-Convert Instructions
65206522
//===----------------------------------------------------------------------===//
65216523
let mayRaiseFPException = true in {
6522-
let hasSideEffects = 0 in {
65236524
defm PseudoVFCVT_XU_F : VPseudoVCVTI_V_RM;
65246525
defm PseudoVFCVT_X_F : VPseudoVCVTI_V_RM;
6525-
}
65266526

65276527
defm PseudoVFCVT_RTZ_XU_F : VPseudoVCVTI_V;
65286528
defm PseudoVFCVT_RTZ_X_F : VPseudoVCVTI_V;
65296529

65306530
defm PseudoVFROUND_NOEXCEPT : VPseudoVFROUND_NOEXCEPT_V;
6531-
let hasSideEffects = 0 in {
65326531
defm PseudoVFCVT_F_XU : VPseudoVCVTF_V_RM;
65336532
defm PseudoVFCVT_F_X : VPseudoVCVTF_V_RM;
6534-
}
65356533
} // mayRaiseFPException = true
65366534

65376535
//===----------------------------------------------------------------------===//
65386536
// 13.18. Widening Floating-Point/Integer Type-Convert Instructions
65396537
//===----------------------------------------------------------------------===//
65406538
let mayRaiseFPException = true in {
6541-
let hasSideEffects = 0 in {
65426539
defm PseudoVFWCVT_XU_F : VPseudoVWCVTI_V_RM;
65436540
defm PseudoVFWCVT_X_F : VPseudoVWCVTI_V_RM;
6544-
}
65456541

65466542
defm PseudoVFWCVT_RTZ_XU_F : VPseudoVWCVTI_V;
65476543
defm PseudoVFWCVT_RTZ_X_F : VPseudoVWCVTI_V;
@@ -6557,23 +6553,17 @@ defm PseudoVFWCVTBF16_F_F : VPseudoVWCVTD_V;
65576553
// 13.19. Narrowing Floating-Point/Integer Type-Convert Instructions
65586554
//===----------------------------------------------------------------------===//
65596555
let mayRaiseFPException = true in {
6560-
let hasSideEffects = 0 in {
65616556
defm PseudoVFNCVT_XU_F : VPseudoVNCVTI_W_RM;
65626557
defm PseudoVFNCVT_X_F : VPseudoVNCVTI_W_RM;
6563-
}
65646558

65656559
defm PseudoVFNCVT_RTZ_XU_F : VPseudoVNCVTI_W;
65666560
defm PseudoVFNCVT_RTZ_X_F : VPseudoVNCVTI_W;
65676561

6568-
let hasSideEffects = 0 in {
65696562
defm PseudoVFNCVT_F_XU : VPseudoVNCVTF_W_RM;
65706563
defm PseudoVFNCVT_F_X : VPseudoVNCVTF_W_RM;
6571-
}
65726564

6573-
let hasSideEffects = 0 in {
65746565
defm PseudoVFNCVT_F_F : VPseudoVNCVTD_W_RM;
65756566
defm PseudoVFNCVTBF16_F_F : VPseudoVNCVTD_W_RM;
6576-
}
65776567

65786568
defm PseudoVFNCVT_ROD_F_F : VPseudoVNCVTD_W;
65796569
} // mayRaiseFPException = true
@@ -6609,19 +6599,17 @@ let Predicates = [HasVInstructionsAnyF] in {
66096599
//===----------------------------------------------------------------------===//
66106600
// 14.3. Vector Single-Width Floating-Point Reduction Instructions
66116601
//===----------------------------------------------------------------------===//
6612-
let mayRaiseFPException = true, hasSideEffects = 0 in {
6602+
let mayRaiseFPException = true in {
66136603
defm PseudoVFREDOSUM : VPseudoVFREDO_VS_RM;
66146604
defm PseudoVFREDUSUM : VPseudoVFRED_VS_RM;
6615-
}
6616-
let mayRaiseFPException = true in {
66176605
defm PseudoVFREDMIN : VPseudoVFREDMINMAX_VS;
66186606
defm PseudoVFREDMAX : VPseudoVFREDMINMAX_VS;
66196607
}
66206608

66216609
//===----------------------------------------------------------------------===//
66226610
// 14.4. Vector Widening Floating-Point Reduction Instructions
66236611
//===----------------------------------------------------------------------===//
6624-
let IsRVVWideningReduction = 1, hasSideEffects = 0, mayRaiseFPException = true in {
6612+
let IsRVVWideningReduction = 1, mayRaiseFPException = true in {
66256613
defm PseudoVFWREDUSUM : VPseudoVFWRED_VS_RM;
66266614
defm PseudoVFWREDOSUM : VPseudoVFWREDO_VS_RM;
66276615
}

0 commit comments

Comments
 (0)