-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[Tool] Incorporate the LLVM third-party library #28383
Conversation
34e4e8f
to
700fa6d
Compare
Reason for not using precompiled packages: |
9a3dbb7
to
95ca2b4
Compare
1fb3574
to
4797cd8
Compare
we may completely disable arm support of this llvm jit feature. don't bother support arm platform. |
can also completely strip llvm related library debug symbol, we are not likely to debug into llvm related library, its debug symbol is useless. |
I'm slightly confused about this. When compiling LLVM, I used |
You can use |
It appears that the global CXXFLAGS have impacted the compilation behavior. I will fix this. |
ee7175b
to
e3d8469
Compare
[FE PR Coverage Check]😍 pass : 0 / 0 (0%) |
#29813 PR added xz-utils into ubuntu env, please rebase this PR to latest main HEAD. |
|
||
foreach(lib IN ITEMS ${LLVM_LIBRARIES}) | ||
add_library(${lib} STATIC IMPORTED GLOBAL) | ||
set_target_properties(${lib} PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/llvm/lib/lib${lib}.a) |
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.
need double check if this is always llvm/lib
or possibly llvm/lib64
which is platform dependent.
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.
According to the installation documentation of LLVM, the default installation location for LLVM libraries is llvm/lib
. To install them in llvm/lib64
, specifying the "64" suffix is necessary.Additionally, I tested it on an M1 Pro Mac, and the installation location was indeed llvm/lib
.
thirdparty/build-thirdparty.sh
Outdated
-DLLVM_INCLUDE_TESTS:BOOL=False \ | ||
-DLLVM_INCLUDE_BENCHMARKS:BOOL=False \ | ||
-DBUILD_SHARED_LIBS:BOOL=False \ | ||
-DCMAKE_BUILD_TYPE="RELEASE" \ |
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.
not sure if cmake is case sensitive, but Release
is preferred, refer to https://llvm.org/docs/CMake.html
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.
CMake is case sensitive, but for LLVM, Release and "RELEASE" have the same effect. I will modify it to Release.
e3d8469
to
122a469
Compare
9cd0910
to
a960578
Compare
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Signed-off-by: Moonm3n <[email protected]>
Head branch was pushed to by a user without write access
a960578
to
2f8535e
Compare
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information The version of Java (11.0.20) you have used to run this analysis is deprecated and we will stop accepting it soon. Please update to at least Java 17. |
[FE Incremental Coverage Report]😍 pass : 0 / 0 (0%) |
[BE Incremental Coverage Report]😍 pass : 0 / 0 (0%) |
Related to #28331 , Adding the LLVM library to StarRocks.
The following impacts will occur after adding the LLVM third-party library:
1. The Docker image size will increase by 200MB, reaching 2.8GB.
2. The binary size of starrocks_be will increase by 47MB.
3. The time taken for a Third-Party Update will increase by roughly 10 minutes, reaching a total of 50 minutes.
4. The impact on the compilation time is little.
Additional: In the past, third-party libraries did not end with
.tar.xz
. It appears that the starrocks/dev-env-ubuntu image does not include xz-utils. Therefore, it may be necessary to install this utility using the command apt install xz-utils
.What type of PR is this:
Checklist:
Bugfix cherry-pick branch check: