@@ -71,6 +71,11 @@ def FlangOnlyOption : OptionFlag;
7171// FC1Option - This option should be accepted by flang -fc1.
7272def FC1Option : OptionFlag;
7373
74+ // Deprecated - The option is deprecated, but still supported. A
75+ // diagnostic is emitted about the potential for the option to be removed
76+ // in an upcoming release.
77+ def Deprecated : OptionFlag;
78+
7479// A short name to show in documentation. The name will be interpreted as rST.
7580class DocName<string name> { string DocName = name; }
7681
@@ -2783,10 +2788,14 @@ def fsycl_device_only : Flag<["-"], "fsycl-device-only">, Flags<[CoreOption]>,
27832788 HelpText<"Compile SYCL kernels for device">;
27842789def fsycl_targets_EQ : CommaJoined<["-"], "fsycl-targets=">, Flags<[NoXarchOption, CC1Option, CoreOption]>,
27852790 HelpText<"Specify comma-separated list of triples SYCL offloading targets to be supported">;
2786- def fsycl_add_targets_EQ : CommaJoined<["-"], "fsycl-add-targets=">, Flags<[NoXarchOption, CoreOption]>,
2787- HelpText<"Specify comma-separated list of triple and device binary image pairs to add to the final SYCL binary">;
2788- def fsycl_link_targets_EQ : CommaJoined<["-"], "fsycl-link-targets=">, Flags<[NoXarchOption, CC1Option, CoreOption]>,
2789- HelpText<"Specify comma-separated list of triples SYCL offloading targets to produce linked device images">;
2791+ def fsycl_add_targets_EQ : CommaJoined<["-"], "fsycl-add-targets=">,
2792+ Flags<[NoXarchOption, CoreOption, Deprecated]>,
2793+ HelpText<"Specify comma-separated list of triple and device binary image "
2794+ "pairs to add to the final SYCL binary (deprecated)">;
2795+ def fsycl_link_targets_EQ : CommaJoined<["-"], "fsycl-link-targets=">,
2796+ Flags<[NoXarchOption, CC1Option, CoreOption, Deprecated]>,
2797+ HelpText<"Specify comma-separated list of triples SYCL offloading targets "
2798+ "to produce linked device images (deprecated)">;
27902799def fsycl_device_code_split_EQ : Joined<["-"], "fsycl-device-code-split=">,
27912800 Flags<[CC1Option, CoreOption]>, HelpText<"Perform SYCL device code split: per_kernel (device code module is "
27922801 "created for each SYCL kernel) | per_source (device code module is created for each source (translation unit)) | off (no device code split). | auto (use heuristic to select the best way of splitting device code). "
@@ -4894,9 +4903,12 @@ def fsycl : Flag<["-"], "fsycl">, Flags<[NoXarchOption, CoreOption]>, Group<sycl
48944903def fno_sycl : Flag<["-"], "fno-sycl">, Flags<[NoXarchOption, CoreOption]>, Group<sycl_Group>,
48954904 HelpText<"Disables SYCL kernels compilation for device">;
48964905// FIXME: -fsycl-explicit-simd is deprecated. remove it when support is dropped.
4897- def : Flag<["-"], "fsycl-explicit-simd">, Flags<[CoreOption]>, Group<clang_ignored_legacy_options_Group>,
4906+ def : Flag<["-"], "fsycl-explicit-simd">, Flags<[CoreOption, Deprecated]>,
4907+ Group<clang_ignored_legacy_options_Group>,
48984908 HelpText<"Enable SYCL explicit SIMD extension. (deprecated)">;
4899- def : Flag<["-"], "fno-sycl-explicit-simd">, Flags<[CoreOption]>, Group<clang_ignored_legacy_options_Group>,
4909+ def : Flag<["-"], "fno-sycl-explicit-simd">,
4910+ Flags<[CoreOption, Deprecated]>,
4911+ Group<clang_ignored_legacy_options_Group>,
49004912 HelpText<"Disable SYCL explicit SIMD extension. (deprecated)">;
49014913defm sycl_early_optimizations : OptOutCC1FFlag<"sycl-early-optimizations", "Enable", "Disable", " standard optimization pipeline for SYCL device compiler", [CoreOption]>;
49024914def fsycl_dead_args_optimization : Flag<["-"], "fsycl-dead-args-optimization">,
0 commit comments