-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL]Use llvm-link's only-needed option to link device libs #2783
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
Signed-off-by: gejin <ge.jin@intel.com>
Signed-off-by: gejin <ge.jin@intel.com>
/summary:run |
Hi, @bader
|
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.
Could a test be added to verify when -only-needed is added?
Hi, @mdtoguchi |
Signed-off-by: gejin <ge.jin@intel.com>
…arate patch together with all necessary driver option change Signed-off-by: gejin <ge.jin@intel.com>
Signed-off-by: gejin <ge.jin@intel.com>
Signed-off-by: gejin <ge.jin@intel.com>
Signed-off-by: gejin <ge.jin@intel.com>
Hi, @mdtoguchi |
/summary:run |
Hi, @bader @vzakhari @mdtoguchi |
…elibs Signed-off-by: gejin <ge.jin@intel.com>
Signed-off-by: gejin <ge.jin@intel.com>
Signed-off-by: gejin <ge.jin@intel.com>
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.
LGTM
/summary:run |
if (InputFilename.startswith("libsycl-") && | ||
InputFilename.endswith(".o")) | ||
return true; | ||
return false; |
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.
Using file name for deciding if --only-needed
option is required looks very fragile.
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.
Hi, @sndmitriev
I agree, we need some enhancement here .
* upstream/sycl: (616 commits) [SYCL][L0] Implement robust error handling in level_zero plugin (intel#2870) [SYCL][NFC] Code clean up (phase 5) revealed by self build. (intel#2907) [Driver][NFC] Remove unused variable (intel#2908) [Github Action] Enable automatic sync for main branch from llvm-project to llvm (intel#2904) [ESIMD][NFC] Remove unnecessary macro checks (intel#2900) [SYCL] Fix handling of multiple usages of composite spec constants (intel#2894) [SYCL] Adjust parallel-for range global size to improve group size selection (intel#2703) [SYCL] Add template parameter support for no_global_work_offset attribute (intel#2839) [SYCL] Support LLVM FP intrinsic in llvm-spirv and FE (intel#2880) [SYCL]Link Libm FP64 SYCL device library by default (intel#2892) [SYCL][NFC] Code clean up (phase 4) revealed by self build. (intel#2878) [SYCL][NFC] Code clean up (phase 3) revealed by self build. (intel#2865) [SYCL] Fix backend selection for SYCL_DEVICE_TYPE=* (intel#2890) [SYCL] Fix spec constants support in integration header (intel#2896) [Driver] Update unbundling of offload libraries to use archive type (intel#2883) [SYCL][NFC] Clang format SYCL.cpp (intel#2891) [CODEOWNERS] Add code owners for DPC++ tools (intel#2884) [XPTIFW] Enable in-tree builds (intel#2849) [SYCL] Don't dump IR and dot files by default in the LowerWGScope pass (intel#2887) [SYCL] Use llvm-link's only-needed option to link device libs (intel#2783) ...
Signed-off-by: gejin ge.jin@intel.com
This PR aims to solve the same problem in a different way from #2723 which is a better way.
We will do 2-step link:
In step, we expect only functions really required by user code will be linked in.
We create the PR to run pre-ci tests and CPU performance tests.