-
Notifications
You must be signed in to change notification settings - Fork 795
[libclc] Reorganize libspirv library #16283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This moves the libspirv libraries to their own subdirectory of libclc, reflecting how the CLC library is organized, and how the OpenCL library may be reorganized in the future. The libspirv bindings are organized in a similar way to CLC, with a single root directory and then a 'generic' directory containing the target-agnostic implementations, as well as top-level target-specific subdirectories to override specific builtins. The libspirv bindings still do a lot of the CLC implementations so the separation isn't as clean as it needs to be, but this patch should help to keep our downstream modifications better separated from upstream changes. Headers that were previously 'spirv' have now been renamed to 'libspirv' to reflect this, and to better distinguish them from the 'spirv' and 'spirv64' libclc targets. That accounts for a majority of the churn.
|
@sarnex Not sure who to ping, but are you by any chance able to help make sense of what the ProtexIP job is unhappy about? |
|
i think it just sucks, let me restart it |
Thanks! It still failed though. I wonder if it's got a problem with some license headers in libclc? I haven't added these files, though - just moved them. I'm not sure what I can do about that - the job output isn't very clear. |
|
ok yeah i dont totally understand it either, but if you can say for sure there's no new code in this PR and its just mvoed around, imo we can ignore it |
Oh, I see - it seems that Same with I think those are the only two it's complaining about? Speculating, but it could be that the copyright headers are different between our copies of those files, and upstream's. For Maybe it's best to ignore it - this PR hasn't added anything new in that regard. |
|
if youre just moving files i would ignore it |
jchlanda
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a large diff, so I'm assuming that the bulk of the change is coming from libclc/generic/libspirv -> libclc/libspirv/lib/generic layout change and the include adjustment. I like that dir reshuffle, it describes the responsibilities of each component better.
|
@intel/llvm-gatekeepers please merge, thank you. The CI failure is to be ignored (see discussion above) |
|
Jenkins/Precommit job looks infrastructural. Merging... |
This moves the libspirv libraries to their own subdirectory of libclc, reflecting how the CLC library is organized, and how the OpenCL library may be reorganized in the future.
The libspirv bindings are organized in a similar way to CLC, with a single root directory and then a 'generic' directory containing the target-agnostic implementations, as well as top-level target-specific subdirectories to override specific builtins.
The libspirv bindings still do a lot of the CLC implementations so the separation isn't as clean as it needs to be, but this patch should help to keep our downstream modifications better separated from upstream changes.
Headers that were previously 'spirv' have now been renamed to 'libspirv' to reflect this, and to better distinguish them from the 'spirv' and 'spirv64' libclc targets. That accounts for a majority of the churn.
Using llvm-diff shows no change to either OpenCL/libspirv bitcode library on nvidia targets.