Skip to content

[Driver][SYCL] Do not claim RDC flag for option enabling#22237

Open
mdtoguchi wants to merge 6 commits into
intel:syclfrom
mdtoguchi:no-rdc-test-fail
Open

[Driver][SYCL] Do not claim RDC flag for option enabling#22237
mdtoguchi wants to merge 6 commits into
intel:syclfrom
mdtoguchi:no-rdc-test-fail

Conversation

@mdtoguchi

@mdtoguchi mdtoguchi commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

In the driver, any touch of an option with hasFlag, or hasArg, etc will claim that the option has been used. In the new offloading model, -fno-sycl-rdc is not yet implemented, so any actual use of the option is not representative of true usage.

Do not mark use of -fno-gpu-rdc (-fno-sycl-rdc is an alias) when being used to add an option to the -cc1 step. This allows for the driver to properly recognize that -fno-sycl-rdc is not being used when the new model is enabled.

This change allows for any true -fno-sycl-rdc testing to emit a diagnostic when used with the new offload model. We can then error on this diagnostic to show failure with the new model for improved visibility and tracking of functionality.

The update to sycl/test-e2e/SYCLBIN/link_object_fast_link.cpp is to prevent test failure due to usage of -fsycl-rdc. The use of this option is not doing anything, as -fsycl-rdc is the default mode. Builds are performed with -Werror causing the unused argument warning to become an error.

In the driver, any touch of an option with hasFlag, or hasArg, etc will claim
that the option has been used.  In the new offloading model, -fno-sycl-rdc
is not yet implemented, so any actual use of the option is not representative
of true usage.

Do not mark use of -fno-gpu-rdc (-fno-sycl-rdc is an alias) when being used to
add an option to the `-cc1` step.  This allows for the driver ti properly
recognize that -fno-sycl-rdc is not being used when the new model is enabled.

This change allows for any true -fno-sycl-rdc testing to emit a diagnostic when
used with the new offload model.  We can then error on this diagnostic to
show failure with the new model for improved visibility and tracking of
functionality.
@mdtoguchi mdtoguchi added the new-offload-model Enables testing with NewOffloadModel. label Jun 5, 2026
@mdtoguchi mdtoguchi marked this pull request as ready for review June 9, 2026 22:37
@mdtoguchi mdtoguchi requested review from a team as code owners June 9, 2026 22:37
@mdtoguchi mdtoguchi requested a review from slawekptak June 9, 2026 22:37
@mdtoguchi

Copy link
Copy Markdown
Contributor Author

Failures seen are from performing testing with the new offloading model enabled. The AOT/early_aot.cpp fails are expected and what we want to see. AOT/early_aot.cpp exercises the use of -fno-sycl-rdc which is not yet supported with the new model. The other failures in CompatTargets look like an issue with the clang-linker-wrapper and is not caused by my change.

@mdtoguchi mdtoguchi requested a review from maksimsab June 11, 2026 14:31
@maksimsab

maksimsab commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

It looks like SYCL :: AOT/early_aot.cpp is failing because of the changes in this PR. Perhaps, marking it XFAIL: new-offload-model is the right decision here.

@mdtoguchi mdtoguchi requested a review from a team as a code owner June 11, 2026 15:52
@YuriPlyakhin

Copy link
Copy Markdown
Contributor

nit: typo: driver ti properly -> driver to properly

@YuriPlyakhin YuriPlyakhin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, assuming CI is passing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-offload-model Enables testing with NewOffloadModel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants