Skip to content

Commit

Permalink
Deprecate SPV_INTEL_non_constant_addrspace_printf extension (#1818)
Browse files Browse the repository at this point in the history
This change continues #1749.
We are removing SPV_INTEL_non_constant_addrspace_printf extension in
favor of SPV_EXT_relaxed_printf_string_address_space, which are
basically the same.

Signed-off-by: Maksimova, Viktoria <viktoria.maksimova@intel.com>
  • Loading branch information
vmaksimo authored and MrSidims committed Jan 26, 2023
1 parent f329838 commit c469fa8
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 113 deletions.
1 change: 0 additions & 1 deletion include/LLVMSPIRVExtensions.inc
Expand Up @@ -51,7 +51,6 @@ EXT(SPV_INTEL_bfloat16_conversion)
EXT(SPV_INTEL_joint_matrix)
EXT(SPV_INTEL_hw_thread_queries)
EXT(SPV_INTEL_global_variable_decorations)
EXT(SPV_INTEL_non_constant_addrspace_printf)
EXT(SPV_INTEL_complex_float_mul_div)
EXT(SPV_INTEL_split_barrier)
EXT(SPV_INTEL_masked_gather_scatter)
Expand Down
22 changes: 7 additions & 15 deletions lib/SPIRV/SPIRVWriter.cpp
Expand Up @@ -3994,26 +3994,18 @@ SPIRVValue *LLVMToSPIRVBase::transDirectCallInst(CallInst *CI,
auto *FormatStrPtr = cast<PointerType>(CI->getArgOperand(0)->getType());
if (FormatStrPtr->getAddressSpace() !=
SPIR::TypeAttributeEnum::ATTR_CONST) {
if (BM->isAllowedToUseExtension(
if (!BM->isAllowedToUseExtension(
ExtensionID::SPV_EXT_relaxed_printf_string_address_space)) {
BM->addExtension(
ExtensionID::SPV_EXT_relaxed_printf_string_address_space);
} else if (BM->isAllowedToUseExtension(
ExtensionID::SPV_INTEL_non_constant_addrspace_printf)) {
BM->addExtension(
ExtensionID::SPV_INTEL_non_constant_addrspace_printf);
BM->addCapability(
internal::CapabilityNonConstantAddrspacePrintfINTEL);
} else {
std::string ErrorStr =
"Either SPV_EXT_relaxed_printf_string_address_space or "
"SPV_INTEL_non_constant_addrspace_printf extension should be "
"allowed to translate this module, because this LLVM module "
"contains the printf function with format string, whose address "
"space is not equal to 2 (constant).";
"Either SPV_EXT_relaxed_printf_string_address_space extension "
"should be allowed to translate this module, because this LLVM "
"module contains the printf function with format string, whose "
"address space is not equal to 2 (constant).";
getErrorLog().checkError(false, SPIRVEC_RequiresExtension, CI,
ErrorStr);
}
BM->addExtension(
ExtensionID::SPV_EXT_relaxed_printf_string_address_space);
}
}

Expand Down
2 changes: 0 additions & 2 deletions lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
Expand Up @@ -614,8 +614,6 @@ template <> inline void SPIRVMap<Capability, std::string>::init() {
add(internal::CapabilityHWThreadQueryINTEL, "HWThreadQueryINTEL");
add(internal::CapabilityGlobalVariableDecorationsINTEL,
"GlobalVariableDecorationsINTEL");
add(internal::CapabilityNonConstantAddrspacePrintfINTEL,
"NonConstantAddrspacePrintfINTEL");
add(internal::CapabilityComplexFloatMulDivINTEL, "ComplexFloatMulDivINTEL");
add(internal::CapabilityMaskedGatherScatterINTEL, "MaskedGatherScatterINTEL");
add(internal::CapabilityTensorFloat32ConversionINTEL,
Expand Down
3 changes: 0 additions & 3 deletions lib/SPIRV/libSPIRV/spirv_internal.hpp
Expand Up @@ -78,7 +78,6 @@ enum InternalCapability {
ICapabilityHWThreadQueryINTEL = 6134,
ICapFPArithmeticFenceINTEL = 6144,
ICapGlobalVariableDecorationsINTEL = 6146,
ICapabilityNonConstantAddrspacePrintfINTEL = 6411,
ICapabilityComplexFloatMulDivINTEL = 6414,
ICapabilityTensorFloat32ConversionINTEL = 6425,
ICapabilityMaskedGatherScatterINTEL = 6427
Expand Down Expand Up @@ -121,8 +120,6 @@ _SPIRV_OP(Capability, HWThreadQueryINTEL)
_SPIRV_OP(BuiltIn, SubDeviceIDINTEL)
_SPIRV_OP(BuiltIn, GlobalHWThreadIDINTEL)

_SPIRV_OP(Capability, NonConstantAddrspacePrintfINTEL)

_SPIRV_OP(Capability, ComplexFloatMulDivINTEL)
_SPIRV_OP(Op, ComplexFMulINTEL)
_SPIRV_OP(Op, ComplexFDivINTEL)
Expand Down

This file was deleted.

@@ -1,7 +1,7 @@
; RUN: llvm-as %s -o %t.bc
; RUN: not llvm-spirv %t.bc -o %t.spv 2>&1 | FileCheck %s --check-prefix=CHECK-WO-EXT

; RUN: llvm-spirv -spirv-text %t.bc -o %t.spt --spirv-ext=+SPV_INTEL_non_constant_addrspace_printf
; RUN: llvm-spirv -spirv-text %t.bc -o %t.spt --spirv-ext=+SPV_EXT_relaxed_printf_string_address_space
; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV

; RUN: llvm-spirv -to-binary %t.spt -o %t.spv
Expand All @@ -10,10 +10,9 @@
; RUN: FileCheck < %t.rev.ll %s --check-prefix=CHECK-LLVM

; CHECK-WO-EXT: RequiresExtension: Feature requires the following SPIR-V extension:
; CHECK-WO-EXT: Either SPV_EXT_relaxed_printf_string_address_space or SPV_INTEL_non_constant_addrspace_printf extension should be allowed to translate this module, because this LLVM module contains the printf function with format string, whose address space is not equal to 2 (constant).
; CHECK-WO-EXT: SPV_EXT_relaxed_printf_string_address_space extension should be allowed to translate this module, because this LLVM module contains the printf function with format string, whose address space is not equal to 2 (constant).

; CHECK-SPIRV: Capability NonConstantAddrspacePrintfINTEL
; CHECK-SPIRV: Extension "SPV_INTEL_non_constant_addrspace_printf"
; CHECK-SPIRV: Extension "SPV_EXT_relaxed_printf_string_address_space"
; CHECK-SPIRV: ExtInstImport [[#ExtInstSetId:]] "OpenCL.std"
; CHECK-SPIRV: TypeInt [[#TypeInt8Id:]] 8 0
; CHECK-SPIRV: TypeInt [[#TypeInt32Id:]] 32 0
Expand Down

0 comments on commit c469fa8

Please sign in to comment.