Skip to content

Commit 5cc84fe

Browse files
author
iclsrc
committed
Merge from 'sycl' to 'sycl-web' (8 commits)
2 parents cf31522 + 21dc4c9 commit 5cc84fe

File tree

43 files changed

+334
-300
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+334
-300
lines changed

clang/test/Driver/cl-options.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,8 @@
214214
// O2O2: "-O3"
215215

216216
// RUN: %clang_cl --target=i686-pc-win32 -Werror -Wno-msvc-not-found /O3 -### -- %s 2>&1 | FileCheck -check-prefix=O3 %s
217-
// O3: -mframe-pointer=none
218217
// O3: -O3
218+
// O3: -mframe-pointer=none
219219

220220
// RUN: %clang_cl /Zs -Werror /Oy -- %s 2>&1
221221

llvm-spirv/include/LLVMSPIRVExtensions.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ EXT(SPV_INTEL_arbitrary_precision_integers)
3535
EXT(SPV_INTEL_optimization_hints)
3636
EXT(SPV_INTEL_float_controls2)
3737
EXT(SPV_INTEL_vector_compute)
38-
EXT(SPV_INTEL_fast_composite)
38+
EXT(SPV_INTEL_fast_composite) // TODO: to remove
3939
EXT(SPV_INTEL_usm_storage_classes)
4040
EXT(SPV_INTEL_fpga_buffer_location)
4141
EXT(SPV_INTEL_arbitrary_precision_fixed_point)

llvm-spirv/lib/SPIRV/PreprocessMetadata.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -360,12 +360,6 @@ void PreprocessMetadataBase::preprocessVectorComputeMetadata(Module *M,
360360
.add(SLMSize)
361361
.done();
362362
}
363-
if (Attrs.hasFnAttr(kVCMetadata::VCFCEntry)) {
364-
EM.addOp()
365-
.add(&F)
366-
.add(spv::internal::ExecutionModeFastCompositeKernelINTEL)
367-
.done();
368-
}
369363

370364
if (Attrs.hasFnAttr(kVCMetadata::VCNamedBarrierCount)) {
371365
SPIRVWord NBarrierCnt = 0;

llvm-spirv/lib/SPIRV/SPIRVReader.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2979,7 +2979,8 @@ Value *SPIRVToLLVM::transValueWithoutDecoration(SPIRVValue *BV, Function *F,
29792979
if (isCvtOpCode(OC) && OC != OpGenericCastToPtrExplicit) {
29802980
auto *BI = static_cast<SPIRVInstruction *>(BV);
29812981
Value *Inst = nullptr;
2982-
if (BI->hasFPRoundingMode() || BI->isSaturatedConversion())
2982+
if (BI->hasFPRoundingMode() || BI->isSaturatedConversion() ||
2983+
BI->getType()->isTypeCooperativeMatrixKHR())
29832984
Inst = transSPIRVBuiltinFromInst(BI, BB);
29842985
else
29852986
Inst = transConvertInst(BV, F, BB);
@@ -4639,12 +4640,6 @@ bool SPIRVToLLVM::transMetadata() {
46394640
if (BM->getDesiredBIsRepresentation() == BIsRepresentation::SPIRVFriendlyIR)
46404641
transFunctionDecorationsToMetadata(BF, F);
46414642

4642-
if (BF->hasDecorate(internal::DecorationCallableFunctionINTEL))
4643-
F->addFnAttr(kVCMetadata::VCCallable);
4644-
if (isKernel(BF) &&
4645-
BF->getExecutionMode(internal::ExecutionModeFastCompositeKernelINTEL))
4646-
F->addFnAttr(kVCMetadata::VCFCEntry);
4647-
46484643
if (F->getCallingConv() != CallingConv::SPIR_KERNEL)
46494644
continue;
46504645

llvm-spirv/lib/SPIRV/SPIRVUtil.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2619,6 +2619,10 @@ class OpenCLStdToSPIRVFriendlyIRMangleInfo : public BuiltinFuncMangleInfo {
26192619
case OpenCLLIB::Nan:
26202620
addUnsignedArg(0);
26212621
break;
2622+
case OpenCLLIB::Prefetch:
2623+
setArgAttr(0, SPIR::ATTR_CONST);
2624+
addUnsignedArg(1);
2625+
break;
26222626
case OpenCLLIB::Shuffle:
26232627
addUnsignedArg(1);
26242628
break;

llvm-spirv/lib/SPIRV/SPIRVWriter.cpp

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -465,11 +465,13 @@ SPIRVType *LLVMToSPIRVBase::transType(Type *T) {
465465
ConstantInt::get(getSizetType(), ArraySize, false), nullptr)));
466466
mapType(T, TransType);
467467
if (ElTy->isPointerTy()) {
468-
mapType(
468+
Type *ArrTy =
469469
ArrayType::get(TypedPointerType::get(Type::getInt8Ty(*Ctx),
470470
ElTy->getPointerAddressSpace()),
471-
ArraySize),
472-
TransType);
471+
ArraySize);
472+
LLVMToSPIRVTypeMap::iterator Loc = TypeMap.find(ArrTy);
473+
if (Loc == TypeMap.end())
474+
mapType(ArrTy, TransType);
473475
}
474476
return TransType;
475477
}
@@ -1023,11 +1025,6 @@ SPIRVFunction *LLVMToSPIRVBase::transFunctionDecl(Function *F) {
10231025
BF->addDecorate(DecorationReferencedIndirectlyINTEL);
10241026
}
10251027

1026-
if (Attrs.hasFnAttr(kVCMetadata::VCCallable) &&
1027-
BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_fast_composite)) {
1028-
BF->addDecorate(internal::DecorationCallableFunctionINTEL);
1029-
}
1030-
10311028
if (BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_vector_compute))
10321029
transVectorComputeMetadata(F);
10331030

@@ -6278,11 +6275,6 @@ bool LLVMToSPIRVBase::transExecutionMode() {
62786275
break;
62796276
AddSingleArgExecutionMode(static_cast<ExecutionMode>(EMode));
62806277
} break;
6281-
case spv::internal::ExecutionModeFastCompositeKernelINTEL: {
6282-
if (BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_fast_composite))
6283-
BF->addExecutionMode(BM->add(new SPIRVExecutionMode(
6284-
OpExecutionMode, BF, static_cast<ExecutionMode>(EMode))));
6285-
} break;
62866278
case spv::internal::ExecutionModeNamedSubgroupSizeINTEL: {
62876279
if (!BM->isAllowedToUseExtension(
62886280
ExtensionID::SPV_INTEL_subgroup_requirements))

llvm-spirv/lib/SPIRV/libSPIRV/SPIRVDecorate.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,6 @@ class SPIRVDecorate : public SPIRVDecorateGeneric {
183183
return ExtensionID::SPV_INTEL_fpga_cluster_attributes;
184184
case DecorationFuseLoopsInFunctionINTEL:
185185
return ExtensionID::SPV_INTEL_loop_fuse;
186-
case internal::DecorationCallableFunctionINTEL:
187-
return ExtensionID::SPV_INTEL_fast_composite;
188186
case DecorationMathOpDSPModeINTEL:
189187
return ExtensionID::SPV_INTEL_fpga_dsp_control;
190188
case DecorationInitiationIntervalINTEL:

llvm-spirv/lib/SPIRV/libSPIRV/SPIRVEntry.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -909,8 +909,6 @@ class SPIRVCapability : public SPIRVEntryNoId<OpCapability> {
909909
case CapabilityVectorComputeINTEL:
910910
case CapabilityVectorAnyINTEL:
911911
return ExtensionID::SPV_INTEL_vector_compute;
912-
case internal::CapabilityFastCompositeINTEL:
913-
return ExtensionID::SPV_INTEL_fast_composite;
914912
case internal::CapabilitySubgroupRequirementsINTEL:
915913
return ExtensionID::SPV_INTEL_subgroup_requirements;
916914
default:

llvm-spirv/lib/SPIRV/libSPIRV/SPIRVEnum.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,6 @@ template <> inline void SPIRVMap<SPIRVExecutionModeKind, SPIRVCapVec>::init() {
290290
{CapabilityFloatingPointModeINTEL});
291291
ADD_VEC_INIT(ExecutionModeSharedLocalMemorySizeINTEL,
292292
{CapabilityVectorComputeINTEL});
293-
ADD_VEC_INIT(internal::ExecutionModeFastCompositeKernelINTEL,
294-
{internal::CapabilityFastCompositeINTEL});
295293
ADD_VEC_INIT(ExecutionModeRegisterMapInterfaceINTEL,
296294
{CapabilityFPGAKernelAttributesv2INTEL});
297295
ADD_VEC_INIT(ExecutionModeStreamingInterfaceINTEL,
@@ -473,8 +471,6 @@ template <> inline void SPIRVMap<Decoration, SPIRVCapVec>::init() {
473471
ADD_VEC_INIT(DecorationAliasScopeINTEL,
474472
{CapabilityMemoryAccessAliasingINTEL});
475473
ADD_VEC_INIT(DecorationNoAliasINTEL, {CapabilityMemoryAccessAliasingINTEL});
476-
ADD_VEC_INIT(internal::DecorationCallableFunctionINTEL,
477-
{internal::CapabilityFastCompositeINTEL});
478474
ADD_VEC_INIT(DecorationMediaBlockIOINTEL, {CapabilityVectorComputeINTEL});
479475
ADD_VEC_INIT(DecorationStallEnableINTEL,
480476
{CapabilityFPGAClusterAttributesINTEL});

llvm-spirv/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,6 @@ template <> inline void SPIRVMap<Decoration, std::string>::init() {
225225
add(DecorationCacheControlStoreINTEL, "CacheControlStoreINTEL");
226226

227227
// From spirv_internal.hpp
228-
add(internal::DecorationCallableFunctionINTEL, "CallableFunctionINTEL");
229228
add(internal::DecorationRuntimeAlignedINTEL, "RuntimeAlignedINTEL");
230229
add(internal::DecorationHostAccessINTEL, "HostAccessINTEL");
231230
add(internal::DecorationInitModeINTEL, "InitModeINTEL");
@@ -654,6 +653,7 @@ template <> inline void SPIRVMap<Capability, std::string>::init() {
654653
add(CapabilityFPGAArgumentInterfacesINTEL, "FPGAArgumentInterfacesINTEL");
655654
add(CapabilityFPGALatencyControlINTEL, "FPGALatencyControlINTEL");
656655
add(CapabilityFPMaxErrorINTEL, "FPMaxErrorINTEL");
656+
add(CapabilityCacheControlsINTEL, "CacheControlsINTEL");
657657
add(CapabilityRegisterLimitsINTEL, "RegisterLimitsINTEL");
658658
add(CapabilityBFloat16TypeKHR, "BFloat16TypeKHR");
659659
add(CapabilityBFloat16DotProductKHR, "BFloat16DotProductKHR");
@@ -666,7 +666,6 @@ template <> inline void SPIRVMap<Capability, std::string>::init() {
666666
"SubgroupMatrixMultiplyAccumulateINTEL");
667667
add(CapabilityTernaryBitwiseFunctionINTEL, "TernaryBitwiseFunctionINTEL");
668668
// From spirv_internal.hpp
669-
add(internal::CapabilityFastCompositeINTEL, "FastCompositeINTEL");
670669
add(internal::CapabilityOptNoneINTEL, "OptNoneINTEL");
671670
add(internal::CapabilityTokenTypeINTEL, "TokenTypeINTEL");
672671
add(internal::CapabilityJointMatrixINTEL, "JointMatrixINTEL");
@@ -686,7 +685,6 @@ template <> inline void SPIRVMap<Capability, std::string>::init() {
686685
"JointMatrixPackedInt2ComponentTypeINTEL");
687686
add(internal::CapabilityJointMatrixPackedInt4ComponentTypeINTEL,
688687
"JointMatrixPackedInt4ComponentTypeINTEL");
689-
add(internal::CapabilityCacheControlsINTEL, "CacheControlsINTEL");
690688
add(internal::CapabilityCooperativeMatrixPrefetchINTEL,
691689
"CooperativeMatrixPrefetchINTEL");
692690
add(internal::CapabilityCooperativeMatrixInvocationInstructionsINTEL,

0 commit comments

Comments
 (0)