Skip to content

Commit 42df23d

Browse files
committed
Replace is[Kernel|Shader]Env with is[Kernel|Shader].
1 parent fcc219a commit 42df23d

10 files changed

+46
-47
lines changed

llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ void SPIRVAsmPrinter::outputExecutionMode(const Module &M) {
532532
Inst.addOperand(MCOperand::createImm(TypeCode));
533533
outputMCInst(Inst);
534534
}
535-
if (ST->isKernelEnv() && !M.getNamedMetadata("spirv.ExecutionMode") &&
535+
if (ST->isKernel() && !M.getNamedMetadata("spirv.ExecutionMode") &&
536536
!M.getNamedMetadata("opencl.enable.FP_CONTRACT")) {
537537
MCInst Inst;
538538
Inst.setOpcode(SPIRV::OpExecutionMode);

llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -267,10 +267,10 @@ static SPIRVType *getArgSPIRVType(const Function &F, unsigned ArgIdx,
267267

268268
static SPIRV::ExecutionModel::ExecutionModel
269269
getExecutionModel(const SPIRVSubtarget &STI, const Function &F) {
270-
if (STI.isKernelEnv())
270+
if (STI.isKernel())
271271
return SPIRV::ExecutionModel::Kernel;
272272

273-
if (STI.isShaderEnv()) {
273+
if (STI.isShader()) {
274274
auto attribute = F.getFnAttribute("hlsl.shader");
275275
if (!attribute.isValid()) {
276276
report_fatal_error(
@@ -342,7 +342,7 @@ bool SPIRVCallLowering::lowerFormalArguments(MachineIRBuilder &MIRBuilder,
342342
buildOpDecorate(VRegs[i][0], MIRBuilder,
343343
SPIRV::Decoration::MaxByteOffset, {DerefBytes});
344344
}
345-
if (Arg.hasAttribute(Attribute::Alignment) && !ST->isShaderEnv()) {
345+
if (Arg.hasAttribute(Attribute::Alignment) && !ST->isShader()) {
346346
auto Alignment = static_cast<unsigned>(
347347
Arg.getAttribute(Attribute::Alignment).getValueAsInt());
348348
buildOpDecorate(VRegs[i][0], MIRBuilder, SPIRV::Decoration::Alignment,

llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -772,10 +772,10 @@ Register SPIRVGlobalRegistry::buildGlobalVariable(
772772
// TODO: maybe move to GenerateDecorations pass.
773773
const SPIRVSubtarget &ST =
774774
cast<SPIRVSubtarget>(MIRBuilder.getMF().getSubtarget());
775-
if (IsConst && !ST.isShaderEnv())
775+
if (IsConst && !ST.isShader())
776776
buildOpDecorate(Reg, MIRBuilder, SPIRV::Decoration::Constant, {});
777777

778-
if (GVar && GVar->getAlign().valueOrOne().value() != 1 && !ST.isShaderEnv()) {
778+
if (GVar && GVar->getAlign().valueOrOne().value() != 1 && !ST.isShader()) {
779779
unsigned Alignment = (unsigned)GVar->getAlign().valueOrOne().value();
780780
buildOpDecorate(Reg, MIRBuilder, SPIRV::Decoration::Alignment, {Alignment});
781781
}
@@ -987,7 +987,7 @@ SPIRVType *SPIRVGlobalRegistry::getOpTypeStruct(
987987
Register ResVReg = createTypeVReg(MIRBuilder);
988988
if (Ty->hasName())
989989
buildOpName(ResVReg, Ty->getName(), MIRBuilder);
990-
if (Ty->isPacked() && !ST.isShaderEnv())
990+
if (Ty->isPacked() && !ST.isShader())
991991
buildOpDecorate(ResVReg, MIRBuilder, SPIRV::Decoration::CPacked, {});
992992

993993
SPIRVType *SPVType =

llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2062,7 +2062,7 @@ bool SPIRVInstructionSelector::selectDot4AddPackedExpansion(
20622062
auto ExtractOp =
20632063
Signed ? SPIRV::OpBitFieldSExtract : SPIRV::OpBitFieldUExtract;
20642064

2065-
bool ZeroAsNull = !STI.isShaderEnv();
2065+
bool ZeroAsNull = !STI.isShader();
20662066
// Extract the i8 element, multiply and add it to the accumulator
20672067
for (unsigned i = 0; i < 4; i++) {
20682068
// A[i]
@@ -2198,12 +2198,11 @@ bool SPIRVInstructionSelector::selectWaveOpInst(Register ResVReg,
21982198
MachineBasicBlock &BB = *I.getParent();
21992199
SPIRVType *IntTy = GR.getOrCreateSPIRVIntegerType(32, I, TII);
22002200

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()));
22072206

22082207
for (unsigned J = 2; J < I.getNumOperands(); J++) {
22092208
BMI.addUse(I.getOperand(J).getReg());
@@ -2227,7 +2226,7 @@ bool SPIRVInstructionSelector::selectWaveActiveCountBits(
22272226
.addDef(ResVReg)
22282227
.addUse(GR.getSPIRVTypeID(ResType))
22292228
.addUse(GR.getOrCreateConstInt(SPIRV::Scope::Subgroup, I, IntTy,
2230-
TII, !STI.isShaderEnv()))
2229+
TII, !STI.isShader()))
22312230
.addImm(SPIRV::GroupOperation::Reduce)
22322231
.addUse(BallotReg)
22332232
.constrainAllUses(TII, TRI, RBI);
@@ -2258,7 +2257,7 @@ bool SPIRVInstructionSelector::selectWaveReduceMax(Register ResVReg,
22582257
.addDef(ResVReg)
22592258
.addUse(GR.getSPIRVTypeID(ResType))
22602259
.addUse(GR.getOrCreateConstInt(SPIRV::Scope::Subgroup, I, IntTy, TII,
2261-
!STI.isShaderEnv()))
2260+
!STI.isShader()))
22622261
.addImm(SPIRV::GroupOperation::Reduce)
22632262
.addUse(I.getOperand(2).getReg())
22642263
.constrainAllUses(TII, TRI, RBI);
@@ -2285,7 +2284,7 @@ bool SPIRVInstructionSelector::selectWaveReduceSum(Register ResVReg,
22852284
.addDef(ResVReg)
22862285
.addUse(GR.getSPIRVTypeID(ResType))
22872286
.addUse(GR.getOrCreateConstInt(SPIRV::Scope::Subgroup, I, IntTy, TII,
2288-
!STI.isShaderEnv()))
2287+
!STI.isShader()))
22892288
.addImm(SPIRV::GroupOperation::Reduce)
22902289
.addUse(I.getOperand(2).getReg());
22912290
}
@@ -2507,7 +2506,7 @@ bool SPIRVInstructionSelector::selectFCmp(Register ResVReg,
25072506
Register SPIRVInstructionSelector::buildZerosVal(const SPIRVType *ResType,
25082507
MachineInstr &I) const {
25092508
// OpenCL uses nulls for Zero. In HLSL we don't use null constants.
2510-
bool ZeroAsNull = !STI.isShaderEnv();
2509+
bool ZeroAsNull = !STI.isShader();
25112510
if (ResType->getOpcode() == SPIRV::OpTypeVector)
25122511
return GR.getOrCreateConstVector(0UL, I, ResType, TII, ZeroAsNull);
25132512
return GR.getOrCreateConstInt(0, I, ResType, TII, ZeroAsNull);
@@ -2516,7 +2515,7 @@ Register SPIRVInstructionSelector::buildZerosVal(const SPIRVType *ResType,
25162515
Register SPIRVInstructionSelector::buildZerosValF(const SPIRVType *ResType,
25172516
MachineInstr &I) const {
25182517
// OpenCL uses nulls for Zero. In HLSL we don't use null constants.
2519-
bool ZeroAsNull = !STI.isShaderEnv();
2518+
bool ZeroAsNull = !STI.isShader();
25202519
APFloat VZero = getZeroFP(GR.getTypeForSPIRVType(ResType));
25212520
if (ResType->getOpcode() == SPIRV::OpTypeVector)
25222521
return GR.getOrCreateConstVector(VZero, I, ResType, TII, ZeroAsNull);
@@ -2526,7 +2525,7 @@ Register SPIRVInstructionSelector::buildZerosValF(const SPIRVType *ResType,
25262525
Register SPIRVInstructionSelector::buildOnesValF(const SPIRVType *ResType,
25272526
MachineInstr &I) const {
25282527
// OpenCL uses nulls for Zero. In HLSL we don't use null constants.
2529-
bool ZeroAsNull = !STI.isShaderEnv();
2528+
bool ZeroAsNull = !STI.isShader();
25302529
APFloat VOne = getOneFP(GR.getTypeForSPIRVType(ResType));
25312530
if (ResType->getOpcode() == SPIRV::OpTypeVector)
25322531
return GR.getOrCreateConstVector(VOne, I, ResType, TII, ZeroAsNull);
@@ -2714,10 +2713,10 @@ bool SPIRVInstructionSelector::selectConst(Register ResVReg,
27142713
Reg = GR.getOrCreateConstNullPtr(MIRBuilder, ResType);
27152714
} else if (Opcode == TargetOpcode::G_FCONSTANT) {
27162715
Reg = GR.getOrCreateConstFP(I.getOperand(1).getFPImm()->getValue(), I,
2717-
ResType, TII, !STI.isShaderEnv());
2716+
ResType, TII, !STI.isShader());
27182717
} else {
27192718
Reg = GR.getOrCreateConstInt(I.getOperand(1).getCImm()->getZExtValue(), I,
2720-
ResType, TII, !STI.isShaderEnv());
2719+
ResType, TII, !STI.isShader());
27212720
}
27222721
return Reg == ResVReg ? true : BuildCOPY(ResVReg, Reg, I);
27232722
}
@@ -3494,7 +3493,7 @@ bool SPIRVInstructionSelector::selectFirstBitSet64Overflow(
34943493

34953494
// On odd component counts we need to handle one more component
34963495
if (CurrentComponent != ComponentCount) {
3497-
bool ZeroAsNull = !STI.isShaderEnv();
3496+
bool ZeroAsNull = !STI.isShader();
34983497
Register FinalElemReg = MRI->createVirtualRegister(GR.getRegClass(I64Type));
34993498
Register ConstIntLastIdx = GR.getOrCreateConstInt(
35003499
ComponentCount - 1, I, BaseType, TII, ZeroAsNull);
@@ -3524,7 +3523,7 @@ bool SPIRVInstructionSelector::selectFirstBitSet64(
35243523
Register SrcReg, unsigned BitSetOpcode, bool SwapPrimarySide) const {
35253524
unsigned ComponentCount = GR.getScalarOrVectorComponentCount(ResType);
35263525
SPIRVType *BaseType = GR.retrieveScalarOrVectorIntType(ResType);
3527-
bool ZeroAsNull = !STI.isShaderEnv();
3526+
bool ZeroAsNull = !STI.isShader();
35283527
Register ConstIntZero =
35293528
GR.getOrCreateConstInt(0, I, BaseType, TII, ZeroAsNull);
35303529
Register ConstIntOne =
@@ -3726,7 +3725,7 @@ bool SPIRVInstructionSelector::selectAllocaArray(Register ResVReg,
37263725
.addUse(GR.getSPIRVTypeID(ResType))
37273726
.addUse(I.getOperand(2).getReg())
37283727
.constrainAllUses(TII, TRI, RBI);
3729-
if (!STI.isShaderEnv()) {
3728+
if (!STI.isShader()) {
37303729
unsigned Alignment = I.getOperand(3).getImm();
37313730
buildOpDecorate(ResVReg, I, TII, SPIRV::Decoration::Alignment, {Alignment});
37323731
}
@@ -3745,7 +3744,7 @@ bool SPIRVInstructionSelector::selectFrameIndex(Register ResVReg,
37453744
.addUse(GR.getSPIRVTypeID(ResType))
37463745
.addImm(static_cast<uint32_t>(SPIRV::StorageClass::Function))
37473746
.constrainAllUses(TII, TRI, RBI);
3748-
if (!STI.isShaderEnv()) {
3747+
if (!STI.isShader()) {
37493748
unsigned Alignment = I.getOperand(2).getImm();
37503749
buildOpDecorate(ResVReg, *It, TII, SPIRV::Decoration::Alignment,
37513750
{Alignment});

llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ getSymbolicOperandRequirements(SPIRV::OperandCategory::OperandCategory Category,
6868
SPIRV::RequirementHandler &Reqs) {
6969
// A set of capabilities to avoid if there is another option.
7070
AvoidCapabilitiesSet AvoidCaps;
71-
if (!ST.isShaderEnv())
71+
if (!ST.isShader())
7272
AvoidCaps.S.insert(SPIRV::Capability::Shader);
7373

7474
VersionTuple ReqMinVer = getSymbolicOperandMinVersion(Category, i);
@@ -144,8 +144,8 @@ void SPIRVModuleAnalysis::setBaseInfo(const Module &M) {
144144
static_cast<SPIRV::MemoryModel::MemoryModel>(getMetadataUInt(MemMD, 1));
145145
} else {
146146
// TODO: Add support for VulkanMemoryModel.
147-
MAI.Mem = ST->isShaderEnv() ? SPIRV::MemoryModel::GLSL450
148-
: SPIRV::MemoryModel::OpenCL;
147+
MAI.Mem = ST->isShader() ? SPIRV::MemoryModel::GLSL450
148+
: SPIRV::MemoryModel::OpenCL;
149149
if (MAI.Mem == SPIRV::MemoryModel::OpenCL) {
150150
unsigned PtrSize = ST->getPointerSize();
151151
MAI.Addr = PtrSize == 32 ? SPIRV::AddressingModel::Physical32
@@ -175,7 +175,7 @@ void SPIRVModuleAnalysis::setBaseInfo(const Module &M) {
175175
// OpenCL 1.0 by default for the OpenCL environment to avoid puzzling
176176
// run-times with Unknown/0.0 version output. For a reference, LLVM-SPIRV
177177
// Translator avoids potential issues with run-times in a similar manner.
178-
if (!ST->isShaderEnv()) {
178+
if (!ST->isShader()) {
179179
MAI.SrcLang = SPIRV::SourceLanguage::OpenCL_CPP;
180180
MAI.SrcLangVersion = 100000;
181181
} else {
@@ -203,7 +203,7 @@ void SPIRVModuleAnalysis::setBaseInfo(const Module &M) {
203203
MAI.Reqs.getAndAddRequirements(SPIRV::OperandCategory::AddressingModelOperand,
204204
MAI.Addr, *ST);
205205

206-
if (!ST->isShaderEnv()) {
206+
if (!ST->isShader()) {
207207
// TODO: check if it's required by default.
208208
MAI.ExtInstSetMap[static_cast<unsigned>(
209209
SPIRV::InstructionSet::OpenCL_std)] = MAI.getNextIDRegister();
@@ -804,12 +804,12 @@ void RequirementHandler::initAvailableCapabilities(const SPIRVSubtarget &ST) {
804804
addAvailableCaps(EnabledCapabilities);
805805
}
806806

807-
if (!ST.isShaderEnv()) {
807+
if (!ST.isShader()) {
808808
initAvailableCapabilitiesForOpenCL(ST);
809809
return;
810810
}
811811

812-
if (ST.isShaderEnv()) {
812+
if (ST.isShader()) {
813813
initAvailableCapabilitiesForVulkan(ST);
814814
return;
815815
}
@@ -969,7 +969,7 @@ static void addOpTypeImageReqs(const MachineInstr &MI,
969969
}
970970

971971
// Has optional access qualifier.
972-
if (!ST.isShaderEnv()) {
972+
if (!ST.isShader()) {
973973
if (MI.getNumOperands() > 8 &&
974974
MI.getOperand(8).getImm() == SPIRV::AccessQualifier::ReadWrite)
975975
Reqs.addRequirements(SPIRV::Capability::ImageReadWrite);
@@ -1267,7 +1267,7 @@ void addInstrRequirements(const MachineInstr &MI,
12671267
ST);
12681268
// If it's a type of pointer to float16 targeting OpenCL, add Float16Buffer
12691269
// capability.
1270-
if (ST.isShaderEnv())
1270+
if (ST.isShader())
12711271
break;
12721272
assert(MI.getOperand(2).isReg());
12731273
const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
@@ -1342,7 +1342,7 @@ void addInstrRequirements(const MachineInstr &MI,
13421342
addOpTypeImageReqs(MI, Reqs, ST);
13431343
break;
13441344
case SPIRV::OpTypeSampler:
1345-
if (!ST.isShaderEnv()) {
1345+
if (!ST.isShader()) {
13461346
Reqs.addCapability(SPIRV::Capability::ImageBasic);
13471347
}
13481348
break;
@@ -1794,7 +1794,7 @@ void addInstrRequirements(const MachineInstr &MI,
17941794
// StorageImageReadWithoutFormat/StorageImageWriteWithoutFormat, see
17951795
// https://github.com/KhronosGroup/SPIRV-Headers/issues/487
17961796

1797-
if (isImageTypeWithUnknownFormat(TypeDef) && ST.isShaderEnv())
1797+
if (isImageTypeWithUnknownFormat(TypeDef) && ST.isShader())
17981798
Reqs.addCapability(SPIRV::Capability::StorageImageReadWithoutFormat);
17991799
break;
18001800
}
@@ -1808,7 +1808,7 @@ void addInstrRequirements(const MachineInstr &MI,
18081808
// StorageImageReadWithoutFormat/StorageImageWriteWithoutFormat, see
18091809
// https://github.com/KhronosGroup/SPIRV-Headers/issues/487
18101810

1811-
if (isImageTypeWithUnknownFormat(TypeDef) && ST.isShaderEnv())
1811+
if (isImageTypeWithUnknownFormat(TypeDef) && ST.isShader())
18121812
Reqs.addCapability(SPIRV::Capability::StorageImageWriteWithoutFormat);
18131813
break;
18141814
}

llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,13 +405,13 @@ bool SPIRVPrepareFunctions::substituteIntrinsicCalls(Function *F) {
405405
Changed = true;
406406
break;
407407
case Intrinsic::lifetime_start:
408-
if (!STI.isShaderEnv()) {
408+
if (!STI.isShader()) {
409409
Changed |= toSpvOverloadedIntrinsic(
410410
II, Intrinsic::SPVIntrinsics::spv_lifetime_start, {1});
411411
}
412412
break;
413413
case Intrinsic::lifetime_end:
414-
if (!STI.isShaderEnv()) {
414+
if (!STI.isShader()) {
415415
Changed |= toSpvOverloadedIntrinsic(
416416
II, Intrinsic::SPVIntrinsics::spv_lifetime_end, {1});
417417
}

llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ bool SPIRVSubtarget::canUseExtInstSet(
119119

120120
SPIRV::InstructionSet::InstructionSet
121121
SPIRVSubtarget::getPreferredInstructionSet() const {
122-
if (isShaderEnv())
122+
if (isShader())
123123
return SPIRV::InstructionSet::GLSL_std_450;
124124
else
125125
return SPIRV::InstructionSet::OpenCL_std;
@@ -130,7 +130,7 @@ bool SPIRVSubtarget::isAtLeastSPIRVVer(VersionTuple VerToCompareTo) const {
130130
}
131131

132132
bool SPIRVSubtarget::isAtLeastOpenCLVer(VersionTuple VerToCompareTo) const {
133-
if (isShaderEnv())
133+
if (isShader())
134134
return false;
135135
return isAtLeastVer(OpenCLVersion, VerToCompareTo);
136136
}
@@ -153,7 +153,7 @@ void SPIRVSubtarget::accountForAMDShaderTrinaryMinmax() {
153153
// Must have called initAvailableExtensions first.
154154
void SPIRVSubtarget::initAvailableExtInstSets() {
155155
AvailableExtInstSets.clear();
156-
if (isShaderEnv())
156+
if (isShader())
157157
AvailableExtInstSets.insert(SPIRV::InstructionSet::GLSL_std_450);
158158
else
159159
AvailableExtInstSets.insert(SPIRV::InstructionSet::OpenCL_std);

llvm/lib/Target/SPIRV/SPIRVSubtarget.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ class SPIRVSubtarget : public SPIRVGenSubtargetInfo {
9292
Env = E;
9393
}
9494
SPIRVEnvType getEnv() const { return Env; }
95-
bool isKernelEnv() const { return getEnv() == Kernel; }
96-
bool isShaderEnv() const { return getEnv() == Shader; }
95+
bool isKernel() const { return getEnv() == Kernel; }
96+
bool isShader() const { return getEnv() == Shader; }
9797
bool isLogicalSPIRV() const {
9898
return TargetTriple.getArch() == Triple::spirv;
9999
}

llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ TargetPassConfig *SPIRVTargetMachine::createPassConfig(PassManagerBase &PM) {
188188
void SPIRVPassConfig::addIRPasses() {
189189
TargetPassConfig::addIRPasses();
190190

191-
if (TM.getSubtargetImpl()->isShaderEnv()) {
191+
if (TM.getSubtargetImpl()->isShader()) {
192192
// Vulkan does not allow address space casts. This pass is run to remove
193193
// address space casts that can be removed.
194194
// If an address space cast is not removed while targeting Vulkan, lowering

llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class SPIRVTTIImpl : public BasicTTIImplBase<SPIRVTTIImpl> {
5050
}
5151

5252
unsigned getFlatAddressSpace() const override {
53-
if (ST->isShaderEnv())
53+
if (ST->isShader())
5454
return 0;
5555
// FIXME: Clang has 2 distinct address space maps. One where
5656
// default=4=Generic, and one with default=0=Function. This depends on the

0 commit comments

Comments
 (0)