[PATCH] D89869: [OpenCL] Define OpenCL feature macros for all versions

Anastasia Stulova via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 6 08:47:04 PST 2020


Anastasia added a comment.

In D89869#2378235 <https://reviews.llvm.org/D89869#2378235>, @azabaznov wrote:

>> I guess targets like SPIR will be supporting all features by default?
>
> It sounds confusing for me: can you please elaborate about why does SPIR-V target should support all features/extension by default? If we are compiling OpenCL C 3.0 with optional functionality we most likely want to get an error in FE level if some functionality is not supported by the target, but not in BE after SPIR-V translation.

SPIR is a special abstract target that doesn't bind to any specific architecture. It is used in different ways but primarily to generate portable IR that can be loaded in toolchains for different vendors. It therefore normally allows all extensions and features to be compiled because the limitations of actualy target are not known at the point of compilation for SPIR. As a matter of fact if you check how extensions are implemented they are typically supported for SPIR.

FYI SPIR is being reused for SPIR-V translation but it is not the only use case.

What did you think in mind regarding activation of features for SPIR?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89869/new/

https://reviews.llvm.org/D89869



More information about the cfe-commits mailing list