intel / intel/llvm

Remove the use of SYCLIsHost in favour of a simple SYCL

Open
#17,519 0 comments 1 reaction 0 assignees View on GitHub
compiler confirmed enhancement
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

### Is your feature request related to a problem? Please describe

clang lang option currently have `SYCLIsHost` and `SYCLIsDevice`. However this creates 3 possible states, making harder to reason about: all false when SYCL is disable or one of them true if enabled. Addition of compatibility mode this naming creates confusion (https://github.com/intel/llvm/pull/12757#discussion_r2001580600)

### Describe the solution you would like

Per discussion with @tahonermann, following the approach used by CUDA could make things a bit simpler:
One simple flag `SYCL` which indicates the SYCL features are enabled and `SYCLIsDevice` which would indicate device specific processing if true.

We could go a bit further by introducing a `IsOffloading` options which would indicates we are offloading using a programming model (SYCL, CUDA, HIP or OpenMP), enabling a simpler access to common part of the compiler for these programming model.

### Describe alternatives you have considered

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.