Skip to content

Commit 2f2fb47

Browse files
authored
Revert "[SYCL] Enable only selected SPIR-V extensions for SPIR-V backend." (#20496)
Reverts #20489
1 parent dcedf27 commit 2f2fb47

File tree

2 files changed

+11
-30
lines changed

2 files changed

+11
-30
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10490,35 +10490,16 @@ static void getSPIRVBackendOpts(const llvm::opt::ArgList &TCArgs,
1049010490
TCArgs.MakeArgString("--avoid-spirv-capabilities=Shader"));
1049110491
BackendArgs.push_back(
1049210492
TCArgs.MakeArgString("--translator-compatibility-mode"));
10493-
10494-
// Disable all the extensions by default
10495-
std::string ExtArg("-spirv-ext=-all");
10496-
std::string DefaultExtArg =
10497-
",+SPV_EXT_shader_atomic_float_add,+SPV_EXT_shader_atomic_float_min_max"
10498-
",+SPV_KHR_no_integer_wrap_decoration,+SPV_KHR_float_controls"
10499-
",+SPV_KHR_expect_assume,+SPV_KHR_linkonce_odr";
10500-
std::string INTELExtArg = ",+SPV_INTEL_subgroups,+SPV_INTEL_media_block_io"
10501-
",+SPV_INTEL_function_pointers"
10502-
",+SPV_INTEL_inline_assembly"
10503-
",+SPV_INTEL_arbitrary_precision_integers"
10504-
",+SPV_INTEL_float_controls2"
10505-
",+SPV_INTEL_variable_length_array"
10506-
",+SPV_INTEL_long_composites"
10507-
",+SPV_INTEL_cache_controls"
10508-
",+SPV_KHR_shader_clock"
10509-
",+SPV_INTEL_bindless_images";
10510-
ExtArg = ExtArg + DefaultExtArg + INTELExtArg;
10511-
ExtArg += ",+SPV_INTEL_bfloat16_conversion"
10512-
",+SPV_INTEL_joint_matrix"
10513-
",+SPV_KHR_uniform_group_instructions"
10514-
",+SPV_INTEL_tensor_float32_conversion"
10515-
",+SPV_INTEL_optnone"
10516-
",+SPV_KHR_non_semantic_info"
10517-
",+SPV_KHR_cooperative_matrix"
10518-
",+SPV_EXT_shader_atomic_float16_add"
10519-
",+SPV_INTEL_fp_max_error";
10520-
10521-
BackendArgs.push_back(TCArgs.MakeArgString(ExtArg));
10493+
// TODO: A list of SPIR-V extensions that are supported by the SPIR-V backend
10494+
// is growing. Let's postpone the decision on which extensions to enable until
10495+
// - the list is stable, and
10496+
// - we decide on a mapping of user requested extensions into backend's ones.
10497+
// Meanwhile we enable all the SPIR-V backend extensions.
10498+
BackendArgs.push_back(TCArgs.MakeArgString("--spirv-ext=all"));
10499+
// TODO:
10500+
// - handle -Xspirv-translator option to avoid "argument unused during
10501+
// compilation" error
10502+
// - handle --spirv-ext=+<extension> and --spirv-ext=-<extension> options
1052210503
}
1052310504

1052410505
// Utility function to gather all llvm-spirv options.

clang/test/Driver/sycl-spirv-backend.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
///
44
// RUN: %clangxx -fsycl -fsycl-use-spirv-backend-for-spirv-gen -### %s 2>&1 | FileCheck %s
55

6-
// CHECK: llc{{.*}} "-filetype=obj" "-mtriple=spirv64{{[^-]*}}-unknown-unknown" "--avoid-spirv-capabilities=Shader" "--translator-compatibility-mode" "-spirv-ext=-all,+SPV_EXT_shader_atomic_float_add,+SPV_EXT_shader_atomic_float_min_max,+SPV_KHR_no_integer_wrap_decoration,+SPV_KHR_float_controls,+SPV_KHR_expect_assume,+SPV_KHR_linkonce_odr,+SPV_INTEL_subgroups,+SPV_INTEL_media_block_io,+SPV_INTEL_function_pointers,+SPV_INTEL_inline_assembly,+SPV_INTEL_arbitrary_precision_integers,+SPV_INTEL_float_controls2,+SPV_INTEL_variable_length_array,+SPV_INTEL_long_composites,+SPV_INTEL_cache_controls,+SPV_KHR_shader_clock,+SPV_INTEL_bindless_images,+SPV_INTEL_bfloat16_conversion,+SPV_INTEL_joint_matrix,+SPV_KHR_uniform_group_instructions,+SPV_INTEL_tensor_float32_conversion,+SPV_INTEL_optnone,+SPV_KHR_non_semantic_info,+SPV_KHR_cooperative_matrix,+SPV_EXT_shader_atomic_float16_add,+SPV_INTEL_fp_max_error"
6+
// CHECK: llc{{.*}} "-filetype=obj" "-mtriple=spirv64{{[^-]*}}-unknown-unknown" "--avoid-spirv-capabilities=Shader" "--translator-compatibility-mode" "--spirv-ext=

0 commit comments

Comments
 (0)