Skip to content

Commit 9c6e0f8

Browse files
committed
[RISCV] Remove some unnecessary hasSideEffects = 0 and push some to their base class. NFC
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 9c65e6a commit 9c6e0f8

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)