@@ -2062,7 +2062,7 @@ bool SPIRVInstructionSelector::selectDot4AddPackedExpansion(
2062
2062
auto ExtractOp =
2063
2063
Signed ? SPIRV::OpBitFieldSExtract : SPIRV::OpBitFieldUExtract;
2064
2064
2065
- bool ZeroAsNull = !STI.isShaderEnv ();
2065
+ bool ZeroAsNull = !STI.isShader ();
2066
2066
// Extract the i8 element, multiply and add it to the accumulator
2067
2067
for (unsigned i = 0 ; i < 4 ; i++) {
2068
2068
// A[i]
@@ -2198,12 +2198,11 @@ bool SPIRVInstructionSelector::selectWaveOpInst(Register ResVReg,
2198
2198
MachineBasicBlock &BB = *I.getParent ();
2199
2199
SPIRVType *IntTy = GR.getOrCreateSPIRVIntegerType (32 , I, TII);
2200
2200
2201
- auto BMI =
2202
- BuildMI (BB, I, I.getDebugLoc (), TII.get (Opcode))
2203
- .addDef (ResVReg)
2204
- .addUse (GR.getSPIRVTypeID (ResType))
2205
- .addUse (GR.getOrCreateConstInt (SPIRV::Scope::Subgroup, I, IntTy, TII,
2206
- !STI.isShaderEnv ()));
2201
+ auto BMI = BuildMI (BB, I, I.getDebugLoc (), TII.get (Opcode))
2202
+ .addDef (ResVReg)
2203
+ .addUse (GR.getSPIRVTypeID (ResType))
2204
+ .addUse (GR.getOrCreateConstInt (SPIRV::Scope::Subgroup, I,
2205
+ IntTy, TII, !STI.isShader ()));
2207
2206
2208
2207
for (unsigned J = 2 ; J < I.getNumOperands (); J++) {
2209
2208
BMI.addUse (I.getOperand (J).getReg ());
@@ -2227,7 +2226,7 @@ bool SPIRVInstructionSelector::selectWaveActiveCountBits(
2227
2226
.addDef (ResVReg)
2228
2227
.addUse (GR.getSPIRVTypeID (ResType))
2229
2228
.addUse (GR.getOrCreateConstInt (SPIRV::Scope::Subgroup, I, IntTy,
2230
- TII, !STI.isShaderEnv ()))
2229
+ TII, !STI.isShader ()))
2231
2230
.addImm (SPIRV::GroupOperation::Reduce)
2232
2231
.addUse (BallotReg)
2233
2232
.constrainAllUses (TII, TRI, RBI);
@@ -2258,7 +2257,7 @@ bool SPIRVInstructionSelector::selectWaveReduceMax(Register ResVReg,
2258
2257
.addDef (ResVReg)
2259
2258
.addUse (GR.getSPIRVTypeID (ResType))
2260
2259
.addUse (GR.getOrCreateConstInt (SPIRV::Scope::Subgroup, I, IntTy, TII,
2261
- !STI.isShaderEnv ()))
2260
+ !STI.isShader ()))
2262
2261
.addImm (SPIRV::GroupOperation::Reduce)
2263
2262
.addUse (I.getOperand (2 ).getReg ())
2264
2263
.constrainAllUses (TII, TRI, RBI);
@@ -2285,7 +2284,7 @@ bool SPIRVInstructionSelector::selectWaveReduceSum(Register ResVReg,
2285
2284
.addDef (ResVReg)
2286
2285
.addUse (GR.getSPIRVTypeID (ResType))
2287
2286
.addUse (GR.getOrCreateConstInt (SPIRV::Scope::Subgroup, I, IntTy, TII,
2288
- !STI.isShaderEnv ()))
2287
+ !STI.isShader ()))
2289
2288
.addImm (SPIRV::GroupOperation::Reduce)
2290
2289
.addUse (I.getOperand (2 ).getReg ());
2291
2290
}
@@ -2507,7 +2506,7 @@ bool SPIRVInstructionSelector::selectFCmp(Register ResVReg,
2507
2506
Register SPIRVInstructionSelector::buildZerosVal (const SPIRVType *ResType,
2508
2507
MachineInstr &I) const {
2509
2508
// OpenCL uses nulls for Zero. In HLSL we don't use null constants.
2510
- bool ZeroAsNull = !STI.isShaderEnv ();
2509
+ bool ZeroAsNull = !STI.isShader ();
2511
2510
if (ResType->getOpcode () == SPIRV::OpTypeVector)
2512
2511
return GR.getOrCreateConstVector (0UL , I, ResType, TII, ZeroAsNull);
2513
2512
return GR.getOrCreateConstInt (0 , I, ResType, TII, ZeroAsNull);
@@ -2516,7 +2515,7 @@ Register SPIRVInstructionSelector::buildZerosVal(const SPIRVType *ResType,
2516
2515
Register SPIRVInstructionSelector::buildZerosValF (const SPIRVType *ResType,
2517
2516
MachineInstr &I) const {
2518
2517
// OpenCL uses nulls for Zero. In HLSL we don't use null constants.
2519
- bool ZeroAsNull = !STI.isShaderEnv ();
2518
+ bool ZeroAsNull = !STI.isShader ();
2520
2519
APFloat VZero = getZeroFP (GR.getTypeForSPIRVType (ResType));
2521
2520
if (ResType->getOpcode () == SPIRV::OpTypeVector)
2522
2521
return GR.getOrCreateConstVector (VZero, I, ResType, TII, ZeroAsNull);
@@ -2526,7 +2525,7 @@ Register SPIRVInstructionSelector::buildZerosValF(const SPIRVType *ResType,
2526
2525
Register SPIRVInstructionSelector::buildOnesValF (const SPIRVType *ResType,
2527
2526
MachineInstr &I) const {
2528
2527
// OpenCL uses nulls for Zero. In HLSL we don't use null constants.
2529
- bool ZeroAsNull = !STI.isShaderEnv ();
2528
+ bool ZeroAsNull = !STI.isShader ();
2530
2529
APFloat VOne = getOneFP (GR.getTypeForSPIRVType (ResType));
2531
2530
if (ResType->getOpcode () == SPIRV::OpTypeVector)
2532
2531
return GR.getOrCreateConstVector (VOne, I, ResType, TII, ZeroAsNull);
@@ -2714,10 +2713,10 @@ bool SPIRVInstructionSelector::selectConst(Register ResVReg,
2714
2713
Reg = GR.getOrCreateConstNullPtr (MIRBuilder, ResType);
2715
2714
} else if (Opcode == TargetOpcode::G_FCONSTANT) {
2716
2715
Reg = GR.getOrCreateConstFP (I.getOperand (1 ).getFPImm ()->getValue (), I,
2717
- ResType, TII, !STI.isShaderEnv ());
2716
+ ResType, TII, !STI.isShader ());
2718
2717
} else {
2719
2718
Reg = GR.getOrCreateConstInt (I.getOperand (1 ).getCImm ()->getZExtValue (), I,
2720
- ResType, TII, !STI.isShaderEnv ());
2719
+ ResType, TII, !STI.isShader ());
2721
2720
}
2722
2721
return Reg == ResVReg ? true : BuildCOPY (ResVReg, Reg, I);
2723
2722
}
@@ -3494,7 +3493,7 @@ bool SPIRVInstructionSelector::selectFirstBitSet64Overflow(
3494
3493
3495
3494
// On odd component counts we need to handle one more component
3496
3495
if (CurrentComponent != ComponentCount) {
3497
- bool ZeroAsNull = !STI.isShaderEnv ();
3496
+ bool ZeroAsNull = !STI.isShader ();
3498
3497
Register FinalElemReg = MRI->createVirtualRegister (GR.getRegClass (I64Type));
3499
3498
Register ConstIntLastIdx = GR.getOrCreateConstInt (
3500
3499
ComponentCount - 1 , I, BaseType, TII, ZeroAsNull);
@@ -3524,7 +3523,7 @@ bool SPIRVInstructionSelector::selectFirstBitSet64(
3524
3523
Register SrcReg, unsigned BitSetOpcode, bool SwapPrimarySide) const {
3525
3524
unsigned ComponentCount = GR.getScalarOrVectorComponentCount (ResType);
3526
3525
SPIRVType *BaseType = GR.retrieveScalarOrVectorIntType (ResType);
3527
- bool ZeroAsNull = !STI.isShaderEnv ();
3526
+ bool ZeroAsNull = !STI.isShader ();
3528
3527
Register ConstIntZero =
3529
3528
GR.getOrCreateConstInt (0 , I, BaseType, TII, ZeroAsNull);
3530
3529
Register ConstIntOne =
@@ -3726,7 +3725,7 @@ bool SPIRVInstructionSelector::selectAllocaArray(Register ResVReg,
3726
3725
.addUse (GR.getSPIRVTypeID (ResType))
3727
3726
.addUse (I.getOperand (2 ).getReg ())
3728
3727
.constrainAllUses (TII, TRI, RBI);
3729
- if (!STI.isShaderEnv ()) {
3728
+ if (!STI.isShader ()) {
3730
3729
unsigned Alignment = I.getOperand (3 ).getImm ();
3731
3730
buildOpDecorate (ResVReg, I, TII, SPIRV::Decoration::Alignment, {Alignment});
3732
3731
}
@@ -3745,7 +3744,7 @@ bool SPIRVInstructionSelector::selectFrameIndex(Register ResVReg,
3745
3744
.addUse (GR.getSPIRVTypeID (ResType))
3746
3745
.addImm (static_cast <uint32_t >(SPIRV::StorageClass::Function))
3747
3746
.constrainAllUses (TII, TRI, RBI);
3748
- if (!STI.isShaderEnv ()) {
3747
+ if (!STI.isShader ()) {
3749
3748
unsigned Alignment = I.getOperand (2 ).getImm ();
3750
3749
buildOpDecorate (ResVReg, *It, TII, SPIRV::Decoration::Alignment,
3751
3750
{Alignment});
0 commit comments